it-swarm.com.de

Android versteckte Anwendung

Ich schreibe ein (legales) Spionageprogramm. Ich möchte dieses Programm im Launcher ausblenden (damit kein Symbol angezeigt wird). Ich habe versucht, <category Android:name="Android.intent.category.LAUNCHER" />-Zeile von AndroidManifest.xml zu entfernen, aber der Benutzer kann die Anwendung nicht im ersten Startmodus (Konfiguration) starten. Wer hat Ideen?

Wie kann ich es tun?

21
TN888

Sie müssen Ihre App zu einem Dienst machen. Hier übernehmen Androids die Erstellung von Servicekomponenten:

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

Fand das auch auf MobiWare:

Wenn Sie die Nutzung des Mobiltelefons verfolgen oder einige Daten ohne Benutzerwissen sammeln möchten, kann dies Ihnen helfen.

Schritt 1: Erstellen Sie eine Anwendung mit dem Symbol Nein . Normalerweise wird eine Aktivität im Manifest wie folgt deklariert.

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

Entfernen Sie das Kategorie-TAG, Sie erhalten kein App-Symbol mehr. Nun brauchen Sie keine Aktivität mehr. Entfernen Sie also dieses Segment. Sie denken vielleicht, wie die App ohne Auslöser ausgeführt wird oder was der Startpunkt der Anwendung ist. Dies ist die Lösung.

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

Dies löst Ihren Code aus, der in Receiver dort geschrieben wurde, indem Sie einen Dienst ausführen können, um Ihre Gedanken zu implementieren.

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

Sie müssen diese Berechtigung hinzufügen,

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

Ihr Code wird ausgeführt, wenn das Telefon nur neu startet.

Schritt 2. Schreiben Sie Ihren Code

Beim Neustart wird der Empfänger ausgelöst, dort können Sie Ihren Service starten.

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

löschen

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

aus der Manifestdatei

3
xoq

Sie können den <category Android:name="Android.intent.category.LAUNCHER"/> aus der Datei AndroidManifest.xml entfernen.

Denken Sie jedoch daran, <category Android:name="Android.intent.category.LEANBACK_LAUNCHER"/> hinzuzufügen, damit Android Studio Ihre App kompilieren kann (noch vor Launcher verborgen) :): D

1
GuruJeya