【发布时间】:2012-09-24 01:29:17
【问题描述】:
我正在尝试以编程方式启用/禁用飞行模式,但以下代码不起作用。应用程序在运行时意外停止,我必须强制关闭
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_airplanemode);
检查飞行模式状态的代码 boolean isEnabled = Settings.System.getInt( 获取内容解析器(), Settings.System.AIRPLANE_MODE_ON, 0) == 1;
切换代码
Settings.System.putInt(
getContentResolver(),
Settings.System.AIRPLANE_MODE_ON, isEnabled ? 0 : 1);
重新加载意图
Intent intent = new Intent(Intent.ACTION_AIRPLANE_MODE_CHANGED);
intent.putExtra("state", !isEnabled);
sendBroadcast(intent);
TextView a = new TextView(this);
a.setText("AIRPLANE MODE : "+isEnabled);
setContentView(a);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_airplanemode, menu);
return true;
}
【问题讨论】:
-
提供堆栈跟踪,但很可能您会收到 SecurityException,因为您无权修改系统设置。
-
Nikolay Elenov:非常感谢,但我如何提供堆栈跟踪...我是 android 新手,我尝试了 context.getmenuInflater() 但它返回“无法解析上下文”
-
将手机连接到 USB,在终端中运行
adb logcat或查看 Eclipse logcat 视图。
标签: android android-intent android-emulator android-manifest