web-dev-qa-db-fra.com

Application cachée Android

J'écris un programme d'espionnage (légal). Je veux faire ce programme caché sur le lanceur (afin qu'aucune icône ne soit affichée). J'ai essayé de supprimer la ligne <category Android:name="Android.intent.category.LAUNCHER" /> de AndroidManifest.xml, mais l'utilisateur ne peut pas lancer l'application en mode de démarrage initial (configuration). Qui a des idées?

Comment puis-je le faire?

21
TN888

Vous devez faire de votre application un service. Voici comment Androids crée des composants de services:

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

Trouvé ceci aussi sur MobiWare:

Lorsque vous souhaitez suivre l'utilisation du mobile ou collecter des données sans que l'utilisateur en ait connaissance, cela peut vous aider.

Étape 1: Créer une application avec l’icône No . Normalement, une activité est déclarée comme suit dans le manifeste.

     <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>

Supprimez l'étiquette de catégorie, vous ne recevrez plus l'icône de l'application. Maintenant, vous n'avez plus besoin d'activité. Supprimez donc ce segment . Mais vous pourriez penser, comment l'application fonctionnera sans aucun déclencheur ou quel est le point de départ de l'application . C'est la solution.

<!-- 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>

Cela déclenche votre code qui écrit dans Receiver par vous pouvez exécuter le service pour implémenter vos pensées.

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

Vous devez ajouter cette permission,

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

Votre code ne fonctionne que lorsque le téléphone redémarre.

Étape 2. Écrivez votre code

Au redémarrage, la recevier se déclenchera, vous pourrez alors commencer votre service.

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

 }
31
ApolloSoftware

retirer

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

du fichier manifeste

3
xoq

Vous pouvez supprimer le <category Android:name="Android.intent.category.LAUNCHER"/> du fichier AndroidManifest.xml.

Mais souvenez-vous d’ajouter <category Android:name="Android.intent.category.LEANBACK_LAUNCHER"/> pour que le studio Android puisse compiler votre application (encore caché du lanceur) :): D

1
GuruJeya