2011-11-11 28 views
5

में डीबग स्थिति पढ़ें, मैं एंड्रॉइड मैनिफेस्ट फ़ाइल में डीबग स्थिति पढ़ना चाहता हूं और फिर उस विधि के आधार पर एक विधि को बंद करना चाहता हूं। मुझे लगता है कि आप एक्सएमएल फाइल पढ़ सकते हैं और इसे पार्स कर सकते हैं लेकिन इस तरह से वह सुरुचिपूर्ण नहीं लगता है। क्या कोई और तरीका है, क्या जावा ऑब्जेक्ट में कहीं भी मैनिफेस्ट में संग्रहीत चीजों की जानकारी कहीं है? डीबग = true सेट है:प्रोग्रामेटिक रूप से मेनिफेस्ट

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

उत्तर

17
boolean DEBUGGABLE = (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0; 
2

मैं अगर एंड्रॉयड की जाँच के लिए ApplicationInfo.FLAG_DEBUGGABLE का उपयोग करें। निम्नलिखित कोड इस thread

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;  
    } 
+1

से नकल कर रहा है अन्य जवाब केवल एक पंक्ति है और एक ही बात करता है। – JPM

संबंधित मुद्दे