我的应用程序中有广播接收器,它运行良好,当我将智能手机连接到蓝牙设备时,它会显示一个警报对话框。但是,如果屏幕关闭或处于锁定屏幕状态,它不会向我显示警报对话框,即使智能手机在锁定屏幕上或屏幕关闭,我也想显示警报对话框。我怎么能这样做?
谢谢!
我的应用程序中有广播接收器,它运行良好,当我将智能手机连接到蓝牙设备时,它会显示一个警报对话框。但是,如果屏幕关闭或处于锁定屏幕状态,它不会向我显示警报对话框,即使智能手机在锁定屏幕上或屏幕关闭,我也想显示警报对话框。我怎么能这样做?
谢谢!
public class ScreenReceiver extends BroadcastReceiver {
public static boolean wasScreenOn = true;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
//do something here
}
}
}
这就是您注册接收器的方式。
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
BroadcastReceiver mReceiver = new ScreenReceiver();
registerReceiver(mReceiver, filter);
由于您没有提供任何代码,因此我无法确定这一点。但是,您的问题可能与您声明Intent的上下文(如果有)有关,或者无论如何与对话框有关。尝试使用context.getApplicationContext()而不是 context / this:
final Intent dialogIntent = new Intent(context.getApplicationContext(), DialogActivity.class);
context.startActivity(dialogIntent);