android - 状态栏有新通知发送时如何亮屏?

标签 android broadcastreceiver alarmmanager

这是我设置通知的代码,它有效:

@Override
    public void onReceive(Context context, Intent intent) {

        category = (String) intent.getExtras().get("CATEGORY");
        notes = (String) intent.getExtras().get("NOTES");

        PendingIntent contentIntent = PendingIntent.getActivity(context, 0,
                new Intent(context, MainActivity.class), 0);

        NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
                context).setSmallIcon(R.drawable.ic_launcher)
                .setContentTitle(category).setContentText(notes);

        mBuilder.setContentIntent(contentIntent);
        mBuilder.setDefaults(Notification.DEFAULT_SOUND);
        mBuilder.setAutoCancel(true);

        NotificationManager mNotificationManager = (NotificationManager) context
                .getSystemService(Context.NOTIFICATION_SERVICE);
        mNotificationManager.notify(1, mBuilder.build());       
    }

这是来 self 的 BroadcastReceiver 的代码 fragment 。每当调用此 BroadcastReceiver 时,它都会在状态栏中显示一条通知。在调试过程中,我注意到当屏幕关闭并发出新通知时,屏幕不会打开。有什么办法可以做到这一点吗?每当发出新通知并且屏幕关闭时,它都应该打开一段时间。模拟就像收到一条新短信。

最佳答案

试试这个:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Tag");
wl.acquire(3000);
wl.release();

关于android - 状态栏有新通知发送时如何亮屏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15768419/

相关文章:

android - 如何知道 BroadcastReceiver 中的飞行模式是打开还是关闭?

java - api类似于黑莓android中的AlarmManager

android - 没有 ActionBar,ShowcaseView 无法工作

java - Android - 修复了 ScrollView 上的标题,具有拉动缩放效果

android - BroadcastReceiver:无法实例化类;没有空的构造函数

android - 拦截 INSTALL_REFERRER 然后转发到 Google AnalyticsReceiver

Android:使搜索在整个应用程序中可用

java - 删除 AppBar SearchView 提示图标

android - setAndAllowWhileIdle() 和 setExactAndAllowWhileIdle() 都不是每 15 分钟每个应用程序一次。每分钟闹钟怎么办

android - 为广播接收器创建多个 AlarmManager?