我希望我为测试条目创建的菜单应该处于 Debug模式,但是当我发布(启动)我的应用程序时,不应为测试条目显示菜单。谁能帮我解决这个问题吗?
最佳答案
检查应用程序中的 IS_DEBUG_MODE
标志并在其中添加代码..
使用 PackageManager
获取应用程序上的 ApplicationInfo
对象,并检查 FLAG_DEBUGGABLE
的标志字段。
boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));
更新:
以下解决方案假设您在开发时始终在 list 文件中设置 android:debuggable=true
,并在应用程序发布时始终设置 android:debuggable=false
。
现在,您可以通过检查从 PackageManager
获取的 ApplicationInfo
中的 ApplicationInfo.FLAG_DEBUGGABLE
标志来从代码中检查此属性的值。
以下代码 fragment 可能会有所帮助:
PackageInfo packageInfo = getPackageManager().getPackageInfo(getPackageName(), 0);
int flags = packageInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// development mode
} else {
// release mode
}
所以在你的 list 文件中:
对于调试时间,
<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">
关于android - Release模式下不显示菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747823/