Създайте екран с предпочитания за Android за услуга

Разработих услуга за Android без GUI, извикана чрез персонализирано намерение от външни приложения. Предишната версия на софтуера използва GUI и управлението на предпочитанията се извършваше чрез графично меню, което отваря PreferenceActivity.

Сега обаче бих искал да имам специален екран за предпочитания, само за конфигурация на услугата. Чудя се дали е възможно да използвам повторно PreferenceActivity, като имам икона в стартовия панел, казваща „Предпочитания за моето приложение“ или като имам бутон „Настройки“ в услугите списък (например вижте 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
Като помисля по-добре, може би предпочитам както е в момента. Когато потребителят инсталира приложението за първи път, екранът с предпочитания се показва и позволява някакъв вид първоначална конфигурация. Благодаря Zhuinden! Ако поставите своя коментар към отговор, с радост ще го приема, тъй като решава проблема.   -  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