Начать деятельность с предпочтительных заголовков
Я реализую n-слой PreferenceActivities 1-й слой PreferenceActivity загружается из preference-заголовков.
Первый заголовок создает фрагмент настроек, который является PreferenceFragment. Второе - это действие браузера (второе - пример с developer.android.com), которое открывает указанный URL. Третий, я хочу быть следующим уровнем PreferenceActivity, который также будет загружен из preference-headers.
Первые два работают нормально, но третье вызывает сбой приложения за исключением:
"android.content.ActivityNotFoundException: не найдено действие для обработки Intent {act = android.intent.action.VIEW dat = com.mycompany.myapp.ui.MyPreferenceActivity}"
MyPreferenceActivity объявлено в файле манифеста. Возможно, декларация активности в main_headers.xml неверна, но я не нашел в справочниках ни одного совета, как это сделать правильно. Пробовал несколько вариантов, они не работали.
Пример, который я использовал:http://developer.android.com/reference/android/preference/PreferenceActivity.html
Любые мысли, почему это не работает для меня или как можно назвать следующий PreferenceActivity? По сути, мне просто нужно начать действие с заголовка, это должно быть очень просто, но я что-то упустил
public class MySettings extends PreferenceActivity
{
@Override
public void onBuildHeaders(List<Header> target)
{
loadHeadersFromResource(R.xml.main_headers, target);
}
}
main_headers.xml:
<?xml version="1.0" encoding="utf-8"?>
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android" >
<header android:title="Custom Settings"
android:fragment="com.mycompany.myapp.ui.SettingsFragment" />
<header android:title="Intent"
android:summary="Launches an Intent.">
<intent android:action="android.intent.action.VIEW"
android:data="http://www.android.com" />
</header>
<header android:title="Another Preference Activity">
<intent android:action="android.intent.action.VIEW"
android:data="com.mycompany.myapp.ui.MyPreferenceActivity" />
</header>
</preference-headers>