Програмно четене на състоянието на отстраняване на грешки в манифеста

Искам да прочета състоянието на отстраняване на грешки във файла на манифеста на Android и след това да задействам метод или не въз основа на това състояние. Виждам, че можете да прочетете XML файла и да го анализирате, но този начин не изглежда толкова елегантен. Има ли друг начин, тази информация за това, което се съдържа в манифеста, съхранява ли се някъде в Java обект?

<application android:name=".MyActivity" android:icon="@drawable/myicon"
    android:label="@string/app_name" android:debuggable="true">

person JPM    schedule 11.11.2011    source източник


Отговори (1)


използвам ApplicationInfo.FLAG_DEBUGGABLE за проверка дали android:debuggable=true е зададен. Следният код е копиран от тази нишка

private static Boolean isSignedWithDebugKey = null;     
    protected boolean signedWithDebug() {         
        if(isSignedWithDebugKey == null) {             
            PackageManager pm = getPackageManager();             
            try {                
             PackageInfo pi = pm.getPackageInfo(getPackageName(), 0);                 
                isSignedWithDebugKey = (pi.applicationInfo.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;             
            }             
            catch(NameNotFoundException nnfe) {                 
                nnfe.printStackTrace();                 
                isSignedWithDebugKey = false;             
            }         
        }         
         return isSignedWithDebugKey;     
    }
person andreasg    schedule 11.11.2011
comment
Другият отговор е само един ред и прави същото. - person JPM; 11.11.2011