Как я могу сделать фрагмент впрыскивания при предпочтениях по доступе к переключению?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как я могу сделать фрагмент впрыскивания при предпочтениях по доступе к переключению?

Сообщение Anonymous »

Я пытаюсь использовать фрагментную инъекцию на Android, чтобы вызвать com.android.settings.accessibility.toggleAccessibubilityServicePreferenceFragment Службы доступности моего приложения.
Вот код:

Код: Выделить всё

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);
< /code>
Но после выполнения этого кода logcat показал это: < /p>
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;
или вы можете перейти на эту страницу исходного кода, чтобы увидеть:
  • android-4.4.4_r2.0.1/.../toggleAccessibubilityServicePreerferencefragment.java
that is effect for thate is effice for thate is upe reptas for afta epplas free a thate affa> Я пытаюсь решить проблему более одного месяца. Но все еще не может решить это. Есть что -нибудь, что я пропустил?

Подробнее здесь: https://stackoverflow.com/questions/345 ... cefragment
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»