100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 锁屏状态下弹出对话款 类似QQ 微信锁屏时候屏幕小窗口显示消息

锁屏状态下弹出对话款 类似QQ 微信锁屏时候屏幕小窗口显示消息

时间:2021-09-02 04:23:35

相关推荐

锁屏状态下弹出对话款 类似QQ 微信锁屏时候屏幕小窗口显示消息

原:/forum.php?mod=viewthread&tid=540944&extra=page%3D1&page=1

不多说,上个简图,

首先创建一个广播接收消息,

这里面有判断是否锁屏,

BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { if (intent.getAction().equals("com.aura.iotcontrol.activity")){ System.out.println("收到消息") ; KeyguardManager km = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); if (km.inKeyguardRestrictedInputMode()) {Intent alarmIntent = new Intent(context, AlarmHandlerActivity.class);alarmIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);MessageActivity.this.startActivity(alarmIntent); } } }} ;

注册代码

private static final StringACTION= "com.aura.iotcontrol.activity";

IntentFilter filter = new IntentFilter();filter.addAction(ACTION);registerReceiver(broadcastReceiver, filter);

收到消息后发送广播

sendBroadcast(new Intent(ACTION));

当广播接收到消息后,跳转指定的activity,并解锁显示布局

@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); final Window win = getWindow(); win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED| WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD| WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON| WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON); PowerManager pm = (PowerManager) this.getSystemService(Context.POWER_SERVICE); if (!pm.isScreenOn()) { PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP|PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright"); wl.acquire(); wl.release(); } DialogUtil.showWf(AlarmHandlerActivity.this , "收到消息!");}

最后别忘了加权限:

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/><uses-permission android:name="android.permission.WAKE_LOCK"/>

菜鸟笔记,不喜勿喷。

-------------------------------------------

------------------08-11-----------------

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。