2

我的应用程序中有广播接收器,它运行良好,当我将智能手机连接到蓝牙设备时,它会显示一个警报对话框。但是,如果屏幕关闭或处于锁定屏幕状态,它不会向我显示警报对话框,即使智能手机在锁定屏幕上或屏幕关闭,我也想显示警报对话框。我怎么能这样做?

谢谢!

4

2 回答 2

2
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);
于 2013-07-28T13:02:21.187 回答
0

由于您没有提供任何代码,因此我无法确定这一点。但是,您的问题可能与您声明Intent的上下文(如果有)有关,或者无论如何与对话框有关。尝试使用context.getApplicationContext()而不是 context / this:

final Intent dialogIntent = new Intent(context.getApplicationContext(), DialogActivity.class);
context.startActivity(dialogIntent);
于 2014-03-24T17:47:00.207 回答