android - Release模式下不显示菜单

标签 android android-2.2-froyo

我希望我为测试条目创建的菜单应该处于 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/

相关文章:

android - 从 App Inventor 转移到 Eclipse 的技巧

php - 通过php web服务将mongodb中的数据解析为android应用程序

android - Android native 代码[C/C++]中的内存泄漏

Android,通过 DDMS 跟踪内存, "Get Allocations"没有任何作用

android - 你如何在Android中设置屏幕亮度?

android - 向一定半径内的人发送通知

android - 在android中拉动刷新

android - 测试人们在钛中静止或运动

Android 相机 setDisplayOrientation : strange behavior for galaxy tab