2011-11-11 23 views
5

Tôi muốn đọc trạng thái gỡ lỗi trong tệp kê khai Android và sau đó kích hoạt một phương thức hoặc không dựa trên trạng thái đó. Tôi thấy bạn có thể đọc các tập tin XML và phân tích nó nhưng cách đó có vẻ không thanh lịch. Có cách nào khác, là thông tin của những gì trong Manifest được lưu trữ trong một đối tượng Java ở đâu đó?Lập trình Đọc trạng thái Gỡ lỗi trong Tệp kê khai

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

Trả lời

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

tôi sử dụng các ApplicationInfo.FLAG_DEBUGGABLE để kiểm tra nếu android: debuggable = true được thiết lập. Mã sau đây được sao chép từ 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

Câu trả lời khác chỉ là một dòng và thực hiện tương tự. – JPM

Các vấn đề liên quan