【发布时间】:2018-03-16 17:21:04
【问题描述】:
我正在开发锁应用程序。我必须使主页按钮被动。我写了一个无障碍服务。三星 j7 prime 也可以使用,但不能在主页按钮的手机上使用。我尝试了经典方法,但事实并非如此。请帮忙。
我的无障碍服务
public class LockWindowAccessibilityService extends AccessibilityService {
@Override
protected boolean onKeyEvent(KeyEvent event) {
LockScreen.getInstance().init(this);
Log.i("#### KEY_CODE ####", String.valueOf(event.getKeyCode()));
if (((LockApplication) getApplication()).lockScreenShow) {
// disable home
if (event.getKeyCode() == KeyEvent.KEYCODE_HOME || event.getKeyCode() == KeyEvent.KEYCODE_DPAD_CENTER || event.getKeyCode() == KeyEvent.KEYCODE_APP_SWITCH) {
return true;
}
}
return super.onKeyEvent(event);
}
@Override
protected boolean onGesture(int gestureId) {
if(gestureId == GLOBAL_ACTION_HOME) {
Log.d(TAG, "Gesture Home Pressed");
}
return super.onGesture(gestureId);
}
@Override
public void onAccessibilityEvent(AccessibilityEvent accessibilityEvent) {
Log.d("onAccessibilityEvent","onAccessibilityEvent");
/*
final int eventType = accessibilityEvent.getEventType();
switch (eventType) {
case AccessibilityEvent.TYPE_VIEW_CLICKED:
break;
case AccessibilityEvent.TYPE_VIEW_FOCUSED:
break;
}
*/
}
@Override
public void onInterrupt() {
}
}
我的 Accessbility.xml
<?xml version="1.0" encoding="utf-8"?>
<accessibility-service
xmlns:android="http://schemas.android.com/apk/res/android"
android:description="@string/permission_accessibility_setting_description"
android:accessibilityEventTypes="typeAllMask"
android:packageNames="com.abc"
android:accessibilityFlags="flagRequestFilterKeyEvents|flagIncludeNotImportantViews|flagReportViewIds"
android:accessibilityFeedbackType="feedbackAllMask"
android:notificationTimeout="1000"
android:canRetrieveWindowContent="true"
android:canRequestFilterKeyEvents="true" />
【问题讨论】:
标签: android android-homebutton