Intereting Posts
Как использовать перетаскивание на просмотр recycler с использованием базы данных реального времени firebase Идентификатор транзакции установлен правильно, но отображается только передача позже Как протестировать мультитач в Android-эмуляторе Как программно удалить уведомление из панели уведомлений в android? Как установить цвет текста в текстовое представление программно Как преобразовать 16-битный бит байтового массива PCM в двойной или плавающий массив? Android, Scala и Proguard C #: ModernHttpClient, вы ссылаетесь на портативную версию вашего приложения – вам нужно ссылаться на версию платформы (iOS / Android) Android PopupWindow и WRAP_CONTENT не работают вместе Настройка ProGuard с проектами библиотеки Android Открыть файл в кеш-каталоге с помощью ACTION_VIEW Лучший способ создать слайд-анимацию в Android-приложении? Google Analytics для Android выпускает с отправкой () Android: исключение класса не найдено: android.support.v4.app.FragmentPager Конфигурация по умолчанию для xmpp для Android xmpp

Запуск Activity from Preference Activity вызывает исключение отказа от разрешения

У меня здесь проблема. Что я хочу сделать, так это запустить Activity из PreferenceActivity. Таким образом, мой preference.xml, который содержит шаблон предпочтений, выглядит следующим образом:

<Preference android:title="Launch Activity" > <intent android:action="org.momo.SOME_ACTIVITY" /> </Preference> 

Явлению известно о действиях, которые я хочу запустить.

 <activity android:label="@string/app_name" android:name="SomeActivity"> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> <action android:name="org.momo.SOME_ACTIVITY" /> </intent-filter> </activity> 

Угадайте, что, я получаю исключение безопасности (отказ в разрешении), когда я хочу его запустить. Я что-то упускаю? Мое понимание намерений все еще немного неполно, но я подумал, что он должен работать именно так.

Спасибо за любую помощь!

Solutions Collecting From Web of "Запуск Activity from Preference Activity вызывает исключение отказа от разрешения"

Создание фильтра намерения кажется слегка обходным путем. Это более простой подход:

 <PreferenceScreen android:title="@string/settings.title" android:summary="@string/settings.summary"> <intent android:targetPackage="com.companyname.appname" android:targetClass="com.companyname.appname.classname"/> </PreferenceScreen> 

Полностью рабочий пример В вашем preference.xml

 <Preference android:title="@string/settings_title_notification_silent_mode" android:summary="@string/settings_title_notification_silent_mode_summary"> <intent android:action="com.activity.SilentModeList"/> <!-- SilentModeList its activity --> </Preference> 

В вашем manifest.xml

  <activity android:name="com.activity.SilentModeList" android:label="@string/ac_settings_description"> <intent-filter> <action android:name="com.activity.SilentModeList" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 

В моем случае все мои настройки xml были правильными.

Но активность, которую я запустил (называемую AppPreferences ) из-за плохого AppPreferences существовала в местах: [package].AppPreferences и [ [package].commmon.Preferences Из-за import common._ , это воспринималось как активность и, конечно же, Он не был объявлен в манифесте Android. Мне просто пришлось удалить вторую активность из моего кода и вуаля!