2016-11-11 2 views
0

Ich möchte den Nutzern meiner Android App erlauben, sie zu verstecken/zu verbergen, wenn sie wollen. Ich habe bereits den Code zum Ausführen der Ein-/Ausblenden-Aktionen, und das Ausblenden funktioniert einwandfrei. Aber wie kann ich jetzt die unhide Methode aufrufen, um die App zurückzulassen? Ich meine, wenn die App ausgeblendet ist, wo kann der Benutzer, sagen wir, "klicken Sie auf eine Schaltfläche", die die Methode aufruft, um die App sichtbar zu machen?Android: So blenden Sie die App ein

Hier ist mein Verstecken/Sichtbar machen Code:

// method to hide the app icon 
public static void hideAppIcon(final Context context) 
    { 
    PackageManager p = context.getPackageManager(); 
    // activity which is first time open in manifest file which is declare as <category android:name="android.intent.category.LAUNCHER" /> 
    ComponentName componentName = new ComponentName(context, SplashActivity.class); 
    p.setComponentEnabledSetting(componentName,PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP); 
    } 


// method to unhide the app icon 
public static void unhideAppIcon(final Context context) 
    { 
    PackageManager p = context.getPackageManager(); 
    // activity which is first time open in manifest file which is declare as <category android:name="android.intent.category.LAUNCHER" /> 
    ComponentName componentName = new ComponentName(context, SplashActivity.class); 
    p.setComponentEnabledSetting(componentName, PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP); 
    } 

Antwort

0

hier eine Weise, die ich von einer anderen App gelernt. Verstecken Sie das Symbol nicht, ändern Sie stattdessen das Symbol und das Etikett Ihrer App. Verkleiden Sie die App als einige integrierte Apps wie "Einstellungen" oder "Rechner".

Eine andere Lösung (die näher an Ihrem Bedarf liegt) ist das Hinzufügen eines Intent-Filters in Ihrer App, der so etwas wie Telefonanrufe erkennt. Wenn Nutzer eine bestimmte Nummer anrufen, blenden Sie Ihre App ein.

siehe this für weitere Informationen.

Hoffe, das wird helfen.

+0

Sie erhalten möglicherweise Fehler, wenn Sie MainActivity aufrufen, während die App ausgeblendet ist. Du musst es einhüllen. –

+0

Ändern von Symbol und Label klingt wie eine nette Alternative, könnten Sie mir bitte einige Referenzen/Code darüber senden? Das war meine erste Option, aber ich habe gelesen, dass nur System-Apps das Symbol programmgesteuert ändern können. Deshalb habe ich das Symbol stattdessen ausgeblendet. Danke! – Ciammarica

+0

Ändern des Symbols ist unmöglich, wie Sie wissen. Aber es gibt einige Problemumgehungen. Schaut euch diesen Beitrag an (http://stackoverflow.com/q/1103027/4319678). Hoffe es wird helfen. –

Verwandte Themen