2
我希望爲測試條目創建的菜單應該進入調試模式,但是當我釋放(啓動)我的應用程序時,不應該顯示測試條目的菜單。任何人都可以幫助我嗎?不要在發佈模式下顯示菜單
我希望爲測試條目創建的菜單應該進入調試模式,但是當我釋放(啓動)我的應用程序時,不應該顯示測試條目的菜單。任何人都可以幫助我嗎?不要在發佈模式下顯示菜單
您在您的應用程序IS_DEBUG_MODE
標誌,並在添加代碼..
使用PackageManager
讓你的應用程序的ApplicationInfo
對象,並檢查標誌字段FLAG_DEBUGGABLE
。
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
更新:
以下解決方案假定清單文件,你總是設置android:debuggable=true
在開發和android:debuggable=false
應用程序發佈。
現在,您可以通過檢查從PackageManager
獲取的ApplicationInfo
中的ApplicationInfo.FLAG_DEBUGGABLE
標誌,從代碼中檢查該屬性的值。
下面的代碼片段可以幫助:
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
int flags = packageInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// development mode
} else {
// release mode
}
所以在您的清單文件:
調試時間,
<application android:name=".MyActivity" android:icon="@drawable/myicon"
android:label="@string/app_name" android:debuggable="true">
發佈時,就
<application android:name=".MyActivity" android:icon="@drawable/myicon"
android:label="@string/app_name" android:debuggable="false">