我正在开发火炬。我用一个按钮开发了小部件。如果你点击那个按钮它打开火炬,如果你再次点击它关闭火炬。但是当手电筒开启并且用户按下电源按钮关闭屏幕时,它也会关闭手电筒。所以我想检查设备是否在火炬开启时进入睡眠模式,有人可以帮我吗?如何检查widget是否在android的背景中
这里是我的代码窗口小部件
public void onReceive(Context context, Intent intent) {
Log.d("torchWidget", "onReceive");
final String action = intent.getAction();
if(AppWidgetManager.ACTION_APPWIDGET_DELETED.equals(action)) {
final int appWidgetId = intent.getExtras().getInt(
AppWidgetManager.EXTRA_APPWIDGET_ID,
AppWidgetManager.INVALID_APPWIDGET_ID);
if(appWidgetId != AppWidgetManager.INVALID_APPWIDGET_ID) {
this.onDeleted(context, new int[] { appWidgetId });
}
} else{
if(intent.getAction().equals(ACTION_WIDGET_RECEIVER)) {
String msg = "null";
try{
msg = intent.getStringExtra("msg");
msg = "Flash Turned On";
} catch(NullPointerException e) {
Log.e("Error", "msg = null");
}
if(Constants.isFlashOnWidget){
Constants.isFlashOnWidget = false;
Toast.makeText(context, "Flash turned OFF", Toast.LENGTH_SHORT).show();
Intent serviceIntent = new Intent(context.getApplicationContext(),
BackgroundService.class);
context.stopService(serviceIntent);
} else {
Constants.isFlashOnWidget = true;
Intent serviceIntent = new Intent(context.getApplicationContext(),
BackgroundService.class);
context.startService(serviceIntent);
}
}
super.onReceive(context, intent);
}
是的我也试过,我试过使用计时器任务,但计时器任务不工作。它只给出一个勾号 – Farooq