context.sendBroadcast(new Intent(“tchip.intent.action.ACTION_KEY_POWER”));
接收的应用,需要具备INJECT_EVENTS权限:
和系统的userId:
android:sharedUserId=“android.uid.system”
接收到此广播后,发出对应的key即可:
sendKeyCode(KeyEvent.KEYCODE_POW 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》无偿开源 徽信搜索公众号【编程进阶路】 ER);
- 打开/关闭飞行模式,同样发送自定义广播给拥有系统uid的应用,同时需要具备权限写入WRITE_SECURE_SETTINGS,打开setting.db可以看到三个表,其中secure表是一些敏感字段:
然后执行对应的操作:
/**
- 当前是否开启飞行模式
*/
private boolean isAirplaneModeOn(Context context) {
// 返回值是1时表示处于飞行模式
int modeIdx = Settings.Global.getInt(context.getC