Подтвердить что ты не робот

Скрытое приложение Android

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

Как я могу это сделать?

4b9b3361

Ответ 1

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

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);
  }

 }

Ответ 2

удалить

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

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

Ответ 3

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

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