Создайте экран настроек Android для службы

Я разработал службу Android без графического интерфейса, вызываемую через настраиваемое намерение внешними приложениями. Предыдущая версия программного обеспечения использовала графический интерфейс, а управление предпочтениями осуществлялось через графическое меню, которое открывало PreferenceActivity.

Однако теперь я хотел бы иметь специальный экран настроек только для настройки службы. Мне интересно, можно ли повторно использовать PreferenceActivity с помощью значка на панели запуска с надписью "Настройки MyApp" или с помощью кнопки "Настройки" в службах list (например, см. Google Keyboard на запущенных сервисах).

Если возможно, я хотел бы добиться этого, не создавая другую активность, поскольку у меня нет ничего полезного, кроме одной кнопки для открытия настроек. Любые идеи?


person André    schedule 19.06.2014    source источник
comment
Пробовали ли вы создать одну привилегированную активность и задать для нее фильтры намерений для MAIN и LAUNCHER?   -  person EpicPandaForce    schedule 19.06.2014
comment
Оно работает. Однажды я попробовал только с помощью средства запуска фильтра намерений, но ничего не произошло. Однако эта деятельность не является основной деятельностью. Например, когда я запускаю проект через Eclipse, он не должен запускаться сразу. Знаете ли вы какие-либо настройки, чтобы предотвратить это?   -  person André    schedule 19.06.2014
comment
Хм... может это поможет? stackoverflow.com/questions/10909683/   -  person EpicPandaForce    schedule 19.06.2014
comment
Подумав лучше, может, предпочитаю, как есть прямо сейчас. Когда пользователь устанавливает приложение в первый раз, появляется экран настроек, позволяющий выполнить некоторую первоначальную настройку. Спасибо Жуинден! Если вы разместите свой комментарий к ответу, я с радостью приму его, так как он решает проблему.   -  person André    schedule 19.06.2014


Ответы (1)


Я думаю, вы можете использовать PreferenceActivity в качестве точки входа и не нуждаться в собственной активности с помощью одной кнопки для ее запуска. Для этого добавьте

        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

К вашей PreferenceActivity в AndroidManifest.xml.

person EpicPandaForce    schedule 19.06.2014