Démarrage automatique de l'application après le démarrage terminé dans Android
Je veux faire une demande de démarrage automatique de l'option dans les paramètres. J'ai fait les Réglages de l'activité dans mon application qui est dérivée à partir de PreferenceActivity et donner CheckBoxPreference pour l'option de démarrage automatique. Si l'option de démarrage automatique est activé mon application doit démarrer lors du démarrage du téléphone est terminé. Et si l'option de démarrage automatique est désactivé alors qu'il ne devrait pas se lancer au démarrage terminé.
À réaliser ce que j'ai mis en œuvre dérivée de la classe de BroadcastReceiver qui reçoit BOOT_COMPLETED de l'intention, de déclarer récepteur dans AndroidManifest.xml et aussi de donner l'autorisation AndroidManifest.xml.
En application il y a aussi une classe dérivée de la Demande et de démarrer le service également à partir de la méthode onCreate de l'application de la classe dérivée. Si je déclare récepteur dans AndroidManifest.xml puis après le démarrage terminé onCreate de mon application appelé et après que la méthode onReceive de BroadcastReceiver appelé.
Maintenant, le problème est que ma candidature est lancé au démarrage terminé à chaque fois si le démarrage automatique est activé ou désactivé. Est-il possible de ne pas démarrer l'application lorsque la fonction auto start est désactivé ?
OriginalL'auteur Khushbu Shah | 2012-01-21
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser l'partagé préférence pour stocker une valeur de type Boolean pour
isAutoStartEnabled
, et de vérifier cette valeur dans le BroadcastReciver, le feu d'une intention, seulement si c'est vrai.Dans votre cas, le problème n'est pas de savoir si vous recevez l'émission, mais qui reçoit la diffusion. Le meilleur de la chance..
J'espère que cela aide..
Pouvez-vous poster le contenu de votre fichier manifest ?, Je pense que le problème réside peut-être là...
Assurez-vous que dans vous fichier manifeste l'intention de filtre pour BOOT_COMPLETE n'est pas avec votre Activité tag, mais avec votre Récepteur de balise.
Ya. c'est dans le récepteur de balise. L'Application reçoit de Démarrage terminé l'intention de tous les temps tout à fait, donc il n'y a pas de problème dans le fichier de manifeste. Je ne veux pas le recevoir à chaque fois.
Avez-vous vérifier que c'est l'activité qui est démarré sur BOOT_COMPLETE est inscrit pour recevoir la BOOT_COMPLETE de diffusion ?
OriginalL'auteur R.daneel.olivaw
Je pense que de Android 3.1 à partir de votre BroadcastReceiver qui reçoit
BOOT_COMPLETED
son intention de ne pas aller travailler. L'utilisateur d'avoir à en réveiller l'application par interagi avec elle.Donc, Après le démarrage de l'appareil toutes les applications tierces sont couchés comme un arrêt.
Et pour votre application, vous pouvez utiliser
SharedPreferences
pour le Démarrage Automatique de votre application..Mise à JOUR: (Uniquement pour la version d'Android 3.1 ci-dessous pour la version supérieure, il fonctionne, mais vous devez interaction de l'utilisateur avec votre application après le démarrage terminé sur le périphérique)
Vous devez utiliser un
BroadcastReceiver
avecandroid.intent.action.BOOT_COMPLETED
intention.Ajoutez ce qui suit à votre fichier manifeste:
App_Receiver classe de mise en œuvre de BoradcastReciever. Mettre en œuvre les
onReceive()
méthode et démarrer votre activité préférée à partir de votre application.J'ai écrit qu'il est déjà mis en œuvre dans l'application. Et il fonctionne parfaitement, mais je ne veux pas recevoir de l'intention de tous les temps car il commence à l'application à chaque fois. Est-il possible de ne pas recevoir de démarrage terminé intention à chaque fois ?
Non, Si vous vous inscrivez tout récepteur de radiodiffusion puis lors de toute intervention sur l'appareil pour que la diffusion alors, vous l'avez, Vous ne pouvez pas contrôler après l'enregistrer.. Juste une utilisation sur votre état..
Utiliser des fichiers pour enregistrer les paramètres. Et de les vérifier dans votre Auto Start Recever.
Mise À Jour, Merci..
OriginalL'auteur user370305
Vous devez ajouter les uses-permission android.la permission.RECEIVE_BOOT_COMPLETED dans votre Manifeste.
OriginalL'auteur Kammaar
J'espère que cela vous aide à
Pouvez-vous s'il vous plaît mettre votre code dans le thread principal
À partir des Paramètres lorsque vous décochez la case, Dans SharedPreference ensemble "isAutoStartEnabled" de la valeur à false dans le cas contraire la rendre vraie. Et Dans de Démarrage Complet de cocher la case "isAutoStartEnabled" valeur de SharedPreference.
OriginalL'auteur Nishant Shah
Le code suivant fonctionne pour moi:
OriginalL'auteur ksu