Android-приложение

Я пишу (законную) программу-шпион. Я хочу, чтобы эта программа была скрыта на панели запуска (чтобы значок не показывался). Я попытался удалить строку <category android:name="android.intent.category.LAUNCHER" /> из AndroidManifest.xml , но тогда пользователь не может запустить приложение в первом режиме запуска (конфигурация). У кого есть идеи?

Как мне это сделать?

Solutions Collecting From Web of "Android-приложение"

Вам нужно сделать свое приложение в службу. Вот андроиды берут на себя создание компонентов сервисов:

http://developer.android.com/guide/components/services.html

Обнаружено это также на MobiWare:

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

Шаг 1. Создайте приложение без значка. Обычно в манифесте активность объявляется следующим образом.

  <activity android:label="@string/app_name" android:name="org.security.tracker.Tracker-activity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> 

Удалите TAG категории, вы больше не получите значок приложения. Теперь вам больше не нужна деятельность. Поэтому удалите этот сегмент. BUt вы можете подумать, как приложение будет работать без какого-либо триггера или в качестве отправной точки приложения. Это решение.

 <!-- Start the Service if applicable on boot --> <receiver android:name="org.security.tracker.ServiceStarter" > <intent-filter > <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver> 

Это запускает ваш код, написанный там в Receiver, и вы можете запускать службу, чтобы реализовать свои мысли.

  <service android:name="org.security.tracker.serviceCode" /> 

Вы должны добавить это разрешение,

  <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> 

Ваш код запускается только при перезагрузке телефона.

Шаг 2. Напишите свой код

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

 class ServiceStarter extends BroadcastReceiver { @Override public void onReceive(Context _context, Intent _intent) { Intent i = new Intent("com.prac.test.MyPersistingService"); i.setClass(_context, ServiceCode.class); _context.startService(i); } } 

Удалить

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

Из файла манифеста

Вы можете удалить <category android:name="android.intent.category.LAUNCHER"/> из файла AndroidManifest.xml.

Но не забудьте добавить <category android:name="android.intent.category.LEANBACK_LAUNCHER"/> чтобы студия Android смогла скомпилировать ваше приложение (все же скрытое от запуска) :): D