2014-11-02 2 views
1

Я хочу создать приложение таким образом, чтобы при его установке он не показывал экран/интерфейс, а просто менял ваш рингтон и пару других настроек на телефоне. Я не против значок приложения, показывая его список приложений. Вот что я пробовал:Приложение настроек Android без UI

- так как setContentView устанавливает содержимое для пользовательского интерфейса, я удалил его из MainActivity.onCreate(), но по-прежнему получаю белый экран при запуске приложения. Я не вижу ссылки на свой файл activity_main.xml в другом месте в моем коде.

- Кажется, я не могу найти кого-либо другого, у кого такая же проблема. Google и поиск в форуме не дают ничего похожего на мою ситуацию.

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

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

+0

вы можете использовать [услугу] (http://stackoverflow.com/questions/21772458/android-application-without-gui) –

+0

Если это просто забавное приложение: запустите действие, покажите черный экран, примените настройки, близкую активность с методом финиша в onCreate of Activity и сделанное вами. –

+0

Создание сервиса также выглядит как решение, но я попробовал следующее решение CommonsWare, и он работал отлично. Спасибо за ваши быстрые ответы. Поощряет меня чаще задавать вопросы :) – LeoNeo

ответ

3

поскольку setContentView устанавливает содержание для пользовательского интерфейса, я удалил его из MainActivity.onCreate(), но я все еще получаю белый экран на запуске приложения

Использование Theme.NoDisplay в манифесте :

<activity 
     android:name="BootstrapActivity" 
     android:theme="@android:style/Theme.NoDisplay"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN"/> 

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

и обязательно вызвать finish() в конце onCreate().

+0

Отлично! Большое спасибо :) – LeoNeo

Смежные вопросы