Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在TogleAccessibilityServicePreferenceFragment上执行片段注入?_Android_Android Fragments_Fragment_Settings_Accessibility - Fatal编程技术网

Android 如何在TogleAccessibilityServicePreferenceFragment上执行片段注入?

Android 如何在TogleAccessibilityServicePreferenceFragment上执行片段注入?,android,android-fragments,fragment,settings,accessibility,Android,Android Fragments,Fragment,Settings,Accessibility,我正在尝试在android上使用片段注入来调用我的应用程序可访问性服务的com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment 代码如下: Intent i = new Intent(); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); i.setClassName("com.android.settings", "com.android.settin

我正在尝试在android上使用片段注入来调用我的应用程序可访问性服务的com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment

代码如下:

Intent i = new Intent();
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
i.setClassName("com.android.settings", "com.android.settings.Settings");
ComponentName name = new ComponentName(getApplicationContext().getPackageName(), "MyAccessibilityService");
i.putExtra(PreferenceActivity.EXTRA_SHOW_FRAGMENT, "com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment");
i.putExtra("mComponentName", name);
startActivity(intentTT);
但是在执行这些代码之后,LogCat显示了以下内容:

E/Settings:###(9542): onApplyThemeResource...
E/HtcPreferenceActivity(9542): context.getClassLoader(): dalvik.system.PathClassLoader[/system/app/Settings.apk]
E/HtcPreferenceActivity(9542): context.getPackageName(): com.android.settings
E/HtcPreferenceActivity(9542): context.getPackageCodePath(): /system/app/Settings.apk
E/HtcPreferenceActivity(9542): context.getPackageResourcePath(): /system/app/Settings.apk
E/HtcPreferenceActivity(9542): fragmentName: com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment
E/AndroidRuntime(9542): FATAL EXCEPTION: main
E/AndroidRuntime(9542): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.android.settings/com.android.settings.Settings}: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.android.settings.accessibility.ToggleAccessibilityServicePreferenceFragment: make sure class name exists, is public, and has an empty constructor that is public
我尝试在我的应用程序中额外设置“nComponentName”来调用此片段,然后转到我应用程序的可访问性服务页面

以下是android源代码的一部分:

public class ToggleAccessibilityServicePreferenceFragment
            extends ToggleFeaturePreferenceFragment implements DialogInterface.OnClickListener {
        private static final int DIALOG_ID_ENABLE_WARNING = 1;
        private static final int DIALOG_ID_DISABLE_WARNING = 2;
        private final SettingsContentObserver mSettingsContentObserver =
            new SettingsContentObserver(new Handler()) {
                @Override
                    public void onChange(boolean selfChange, Uri uri) {
                        String settingValue = Settings.Secure.getString(getContentResolver(),
                                Settings.Secure.ENABLED_ACCESSIBILITY_SERVICES);
                        final boolean enabled = settingValue.contains(mComponentName.flattenToString());
                        mToggleSwitch.setCheckedInternal(enabled);
                    }
                };
        private ComponentName mComponentName;
        private int mShownDialogId; 
或者,您可以转到源代码的此页以查看:

是否有
其他额外的
需要设置/放置?我正在努力解决这个问题一个多月。但还是解决不了。有什么我错过的吗