web-dev-qa-db-ja.com

Androidでアプリのユーザー補助設定ページを起動するにはどうすればよいですか?

Android機能に基づいてAccessibility AP​​Pを開発しています。プログラムではできないのでEnable/Disable Accessibility Androidのサービス( Androidのプログラムでアクセシビリティサービスを有効/無効にする方法 )を参照してください。そのため、ユーザーをAccessibility Settingsページ(図1)以下のコードを使用:

public static boolean gotoAccessibilitySettings(Context context) {
    Intent settingsIntent = new Intent(
            Settings.ACTION_ACCESSIBILITY_SETTINGS);
    if (!(context instanceof Activity)) {
        settingsIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    }
    boolean isOk = true;
    try {
        context.startActivity(settingsIntent);
    } catch (ActivityNotFoundException e) {
        isOk = false;
    }
    return isOk;
}

次に、ユーザーは私のアプリのサブ設定ラベルを見つけてクリックし、Accessibility Settings私のAPPショーのページ(写真2)。

何らかの方法でアプリのAccessibility Settings Page(写真2)直接?

20
Kalok Lo

多分以下のコードはあなたを助けることができます:

Intent intent = new Intent();
        intent.setClassName("com.Android.settings",
                "com.Android.settings.Settings");
        intent.setAction(Intent.ACTION_MAIN);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_CLEAR_TASK
                | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT,
                "the fragment which you want show");
        intent.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS,
                extras);
       startActivity(intent);

または、キーワード「フラグメントインジェクション」で詳細を検索できます。このリンクをチェックしてください、それはあなたの場合に便利です:

2
money zhang

次のインテントを使用して、ユーザー補助設定を手動で開くことができます(Android.content.IntentおよびAndroid.app.Intent両方がインポートされました):

Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
startActivity(intent);

詳細については、次のリソースを確認してください。

15
Tim Groeneveld

これを試して:

Intent intent = new Intent(Settings.ACTION_ACCESSIBILITY_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
0
Shubham Goel