0

AccessibilityServiceを使用して通知を監視しています。私はこれこれに従いました。最後に、それは機能し、新しい通知について知ることができます.

ただし、AccessibilityServiceを接続するには、ユーザーにACCESSIBILITY_SETTINGSから有効にするように依頼する必要があります。これは次のように行います。

Intent intent = new Intent(android.provider.Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivityForResult(intent, 0);

しかし、問題は、ユーザーがそれを有効にしているかどうか (AccessibilityService) を確認したいということです。また、ユーザーが既に有効にしている場合、ユーザーに再度有効にするように求めることはありません。それで、これを行うことは可能ですか?

4

1 に答える 1

1

安全な設定を確認することで、ユーザーがユーザー補助サービスを有効にしているかどうかをテストできます。Settings.Secure.getString()有効なサービスの:別のリストが表示され、自分のサービスがそこにあるかどうかを確認できます。このようなもの:

ComponentName compName = new ComponentName(context, MyAccessibilityService.class);
String flatName = compName.flattenToString();
String enabledList = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
boolean isEnabled = enabledList != null && enabledList.contains(flatName);
于 2015-11-19T15:14:00.123 に答える