不要在发布模式下显示菜单

时间:2012-03-17 06:23:52

标签: android android-2.2-froyo

我希望我为测试条目创建的菜单应该处于调试模式,但是当我发布(启动)我的应用程序时,不应显示用于测试条目的菜单。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:2)

检查应用程序中的IS_DEBUG_MODE标志并在其中添加代码..

使用PackageManager在您的应用上获取ApplicationInfo对象,并查看FLAG_DEBUGGABLE的标记字段。

boolean isDebuggable = (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE));

<强>更新

以下解决方案假定在清单文件中,您始终在开发时设置android:debuggable=true并在应用程序发布时设置android:debuggable=false

现在,您可以通过查看从ApplicationInfo.FLAG_DEBUGGABLE获得的ApplicationInfo中的PackageManager标记来检查代码中此属性的值。

以下代码段可以提供帮助:

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">