做这个功能是因为我好几个手机(小米4,红米note2)都是三大金刚键坏了,没法操作手机,网上下载了按键精灵和全面屏之类软件,总感觉广告太多体验不好,于是自己动手,丰衣足食,来一张动图展示一下效果。
首先是判断模拟按键服务是否开启,没有开启就调用api去无障碍界面开启这个服务。
if(!SimulateKeyService.isAccessibilitySettingsOn(MainActivity.this)){
Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);
}else{
startService(new Intent(MainActivity.this, SimulateKeyService.class));
}
然后写一个服务继承AccessibilityService,并且在清单文件中配置一下
<service
android:name=".simulatekey.SimulateKeyService"
android:enabled="true"
android:exported="true"
android:permission="android.permission.BIND_ACCESSIBILITY_SERVICE">
<intent-filter>
<action android:name="android.accessibilityservice.AccessibilityService"/>
</intent-filter>
<meta-data
android:name="android.accessibilityservice"
android:resource="@xml/simulatekey"/&g