Настройки Daydream

Я пытаюсь создать настройки для моего Daydream и в соответствии с документацией мне нужно создать XML-файл, например так:

 <dream xmlns:android="http://schemas.android.com/apk/res/android"
 android:settingsActivity="com.example.app/.MyDreamSettingsActivity" />

Тем не менее, мой Activity находится в проекте библиотеки (называется com.project.base), и я продолжаю получать эту ошибку в Logcat при нажатии на кнопку настройки:

 11-16 23:01:29.331: E/AndroidRuntime(28908): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.project.base/com.project.base.SettingsDayDream}; have you declared this activity in your AndroidManifest.xml?

У меня есть мои настройки XML-файла, как это:

 <dream xmlns:android="http://schemas.android.com/apk/res/android"
 android:settingsActivity="com.project.base/.SettingsDayDream" />

но я перепробовал все варианты, такие как com.project.base/com.project.base.SettingsDayDreamи просто com.project.base.SettingsDayDream, но ничего не работает.

Я объявил активность в AndroidManifest.xml как это:

    <activity android:name="com.project.base.SettingsDayDream" android:configChanges="keyboardHidden|orientation" />

а также сервис:

<service android:name="com.project.base.DayDream" android:exported="true" android:icon="@drawable/icon" android:label="@string/app_name">
    <intent-filter>
    <action android:name="android.service.dreams.DreamService" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
    <meta-data android:name="android.service.dream" android:resource="@xml/daydream" />
</service>

1 ответ

Решение

Проблема в вашем daydream.xml, Формат для android:settingsActivity является current.app.package/com.project.base.SettingsActivity

Так current.app.package, перед /, должно быть вашим текущим приложением, а не проектом библиотеки.

Другие вопросы по тегам