2013-09-10 1 views
1

Я хочу, чтобы запустить вид настройки доступности и он говорит, что dosen't существует ...Запуск AccessibilitySettings с параметрами XML в андроиде

Это список предпочтений:

<preference-headers xmlns:android="http://schemas.android.com/apk/res/android" > 

    <header 
     android:icon="@android:drawable/ic_dialog_alert" 
     android:summary="Must be enabled to work." 
     android:title="Accessibility State" > 
     <intent 
      android:action="android.intent.action.MAIN" 
      android:targetClass="com.android.settings.AccessibilitySettings" 
      android:targetPackage="com.android.settings" /> 
    </header> 

</preference-headers> 

И это говорит ошибка:

E/AndroidRuntime(4510): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.settings/com.android.settings.AccessibilitySettings}; have you declared this activity in your AndroidManifest.xml?

¿Почему?

ответ

0

Это работает в коде:

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

Это исключение вызывается, когда вызов startActivity(Intent) или один из его вариантов завершается сбоем из-за невозможности найти действие для выполнения данного намерения.

+0

Да, но я хочу знать, почему. Мне нужно запустить представление com.android.settings.AccessibilitySettings из представления конфигурации ... – Caipivara

2

Действие, которое вы ищете, определено Settings.ACTION_ACCESSIBILITY_SETTINGS как "android.settings.ACCESSIBILITY_SETTINGS". Вам не нужно будет определять целевой класс или пакет.

<intent android:action="android.settings.ACCESSIBILITY_SETTINGS" /> 
+0

** Это dosent work: ** 'android.content.ActivityNotFoundException: Невозможно найти явный класс активности {android.settings/android .settings.ACCESSIBILITY_SETTINGS}; Вы объявили эту активность в своем AndroidManifest.xml? ' ** Еще одна попытка: ** ' android.content.ActivityNotFoundException: Невозможно найти явный класс активности {com.android.settings/com.android.settings.ACCESSIBILITY_SETTINGS}; Вы объявили эту активность в своем AndroidManifest.xml? ' – Caipivara

+1

Вы задаете целевой класс и пакет в своем ярлыке Intent? Все, что вам нужно - это действие, как в примере. – alanv

Смежные вопросы