Comment masquer l'icône de l'application à partir de l'Android Desktop?
J'ai défini une application qui est utilisé uniquement à partir de mon autre application. Donc, je tiens à masquer l'icône de cette application, de sorte que l'utilisateur ne peut pas le voir sur l'écran de son téléphone (ou comment appelez-vous la chose où toutes les applications sont répertoriées?). Mon manifeste fichier se présente de la manière suivante:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="xyz.games.pacman.controller"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.BLUETOOTH"/>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".PacmanGame"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="pacman.intent.action.Launch" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<receiver android:name="xyz.games.pacman.network.MessageListener">
<intent-filter>
<action android:name="xyz.games.pacman.controller.BROADCAST" />
</intent-filter>
</receiver>
</application>
<uses-sdk android:minSdkVersion="7" />
</manifest>
J'ai déjà lu cette question:
Comment masquer une icône de l'application dans l'émulateur Android?
mais si je viens de supprimer la ligne
<category android:name="android.intent.category.DEFAULT" />
dans mon manifeste, l'activité ne fonctionne pas du tout (ActivityNotFoundException dans l'appel de l'activité).
Tout conseils sur la façon de résoudre ce problème? J'ai déjà essayé android.l'intention.de la catégorie.INCORPORÉ, mais cela ne fonctionne pas trop.
Dans l'Internet, j'ai trouvé CommonsWare réponse http://osdir.com/ml/Android-Developers/2010-06/msg03617.html que cela peut être fait en utilisant PackageManager. Malheureusement, il n'est pas expliqué comment exactement et je ne pouvais pas trouver une solution en parcourant le PackageManager API.
OriginalL'auteur | 2010-07-06
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour créer un filtre d'intention, puis de créer une intention qui utilise ce filtre.
Par exemple, dans mon Funky Charges externes d'application les applications peuvent ajouter des opérations. Ceci est réalisé par le manifeste pour Funky Charges contenant
et puis application externe peut accéder à mon activité de la manière suivante;
Une attention particulière à la setAction d'appel qui fixe la bonne intention.
Son code est exactement ce que fait. Une autre alternative est de supprimer filtres complètement et de le lancer directement par package et le nom de classe.
Sebi; Mon code est un exemple pour les autres. J'ai inclus le filtre et le code au début de l'activité. C'est à partir d'une application, où l'icône de l'activité qui n'est pas visible et ne ce que vous avez demandé.
Je fais exactement la même et j'ai 2 icônes. cependant, mais les icônes sont de la première activité.
OriginalL'auteur Al Sutton
pourquoi voudriez-vous écrire un vrai (exécutable) deuxième application qui existe simplement de faire quelque chose quand il reçoit qqch à partir d'une autre application?
je vous suggère de vous mettre en œuvre cette "app" en tant que service (local ou distant). ce service serait alors exécuter en arrière-plan et faites des choses pour vous et il n'y aura pas une icône à afficher sur l'écran...
si nécessaire, vous pouvez mettre en œuvre ce service à distance, le sens qu'il s'exécute dans un tout autre processus, puis la première application. et: vous pouvez communiquer par le biais de la diffusion des intentions comme vous semblez le faire maintenant si vous n'avez pas besoin de changer votre première application...
OriginalL'auteur xenonite
Essayez de supprimer les intent-filter et au lieu d'essayer de lancer la 2ème activité avec le filtre lounch directement l'activité:
OriginalL'auteur Gavriel
Vous devez supprimer l'ensemble de la
<intent-filter>
, et pas seulement les<category>
OriginalL'auteur ognian