在我的应用程序中,我创建了一个测试页面,其中包含一些仅供开发人员使用的代码。此页面/活动只能通过菜单项访问。有没有办法确定Android应用程序是否在调试模式下运行,并且仅在显示菜单项时才显示?
的问候, Goldhorn
答案 0 :(得分:7)
要直接检查菜单或其他资源XML中的调试模式,我们可以在build.gradle
中定义 resValue ,如下所示。
buildTypes {
release {
...
resValue "bool", "DEBUG", "false"
}
debug {
...
resValue "bool", "DEBUG", "true"
}
}
在generated.xml
我们会得到:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Automatically generated file. DO NOT MODIFY -->
<!-- Values from build type: debug -->
<bool name="DEBUG">true</bool>
</resources>
现在我们可以在menu.xml
:
<item android:visible="@bool/DEBUG" ... />
答案 1 :(得分:3)
您需要检查AndroidManifest.xml中是否设置了debuggable="true"。有关详细信息,请参阅此帖子 - Getting "debuggable" value of androidManifest from code?
答案 2 :(得分:-4)
使用这个黑色
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String nOp = tm.getNetworkOperatorName();
if("Android".equals(nOp)) {
// ADD YOUR MENUS FOR EMULATOR
}
else {
// ADD YOUR MENUS FOR DEVICE
}