доступ к статическим полям из другого приложения - PullRequest
3 голосов
/ 16 сентября 2011

У меня плохое предчувствие по этому вопросу, но ...

С учетом этого класса

class A {

    public static final String field = "I_m_a_field";

}

в пакете com.uselessoftware.A и скомпилировано как A.apk .

Возможно ли прочитать статическое поле из другого приложения в другом пакете?Предположим (все псевдо):

class B {

    void readField() {

        iDontKnow obj = loadExternalClass("com.uselessoftware.A", "A");
        String externalField = obj.readStaticAsString(obj, "field");

    }

} 

в пакете com.uselessoftware.B и скомпилировано как B.apk .

1 Ответ

1 голос
/ 19 сентября 2011
Context _external_context = createPackageContext("com.uselessoftware.A", context.CONTEXT_INCLUDE_CODE + Context.CONTEXT_IGNORE_SECURITY);
Class<?> _external_class = _external_context.getClassLoader().loadClass("com.uselessoftware.A");        
Field _external_field = _external_class.getField("field");
String _field = (String) _external_field.get(null);

не из-за меня, нашел это обсуждение гуглил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...