Causés par: java.lang.IllegalStateException: ParsePlugins est déjà initialisé
J'ai quitter l'application, le relancer, je suis une exception.
public void onCreate() {
-->here Parse.initialize(this, "adfsfasdfs",
"asdfadfsdf");
ParseInstallation.getCurrentInstallation().saveInBackground();
ParseInstallation.create(identity == null ? "No Identity Set"
: identity);
Exception
07-08 23:27:29.411: E/AndroidRuntime(4889): Caused by: java.lang.IllegalStateException: ParsePlugins is already initialized
07-08 23:27:29.411: E/AndroidRuntime(4889): at com.parse.ParsePlugins.set(ParsePlugins.java:27)
07-08 23:27:29.411: E/AndroidRuntime(4889): at com.parse.ParsePlugins.access$200(ParsePlugins.java:11)
07-08 23:27:29.411: E/AndroidRuntime(4889): at com.parse.ParsePlugins$Android.initialize(ParsePlugins.java:141)
07-08 23:27:29.411: E/AndroidRuntime(4889): at com.parse.Parse.initialize(Parse.java:178)
07-08 23:27:29.411: E/AndroidRuntime(4889): at com.mcruiseon.caregiri.Registration.onCreate(Registration.java:98)
Fichier Manifest
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver
android:name="com.parse.ParsePushBroadcastReceiver"
android:exported="false" >
<intent-filter>
<action android:name="com.parse.push.intent.RECEIVE" />
<action android:name="com.parse.push.intent.DELETE" />
<action android:name="com.parse.push.intent.OPEN" />
</intent-filter>
</receiver>
Edit :
Je me demande pourquoi Analyser jeter une exception pour ce. Pourquoi ne pas simplement info
et de progresser. Son initialisation, une grosse affaire si j'ai initialisé à nouveau.
Solution
J'ai renoncé à Analyser. N'aimez pas l'Application, il suffit juste de irritant pour la maintenir.
- À quel stade êtes-vous en faveur
Parse.initialize
, dans votreonCreate
? - Oui, dans le onCreate
- Et est-ce la
onCreate
d'une sous-classe deApplication
ou faites-vous appelParse.initialize
quelque part d'autre qui pourrait avoir été détruit et il appelle encore? - merci, cela aide
Vous devez vous connecter pour publier un commentaire.
Parse.initialize()
ne doit être appelée que une fois pour toute une application.L'appelant dans un
Activity
'sonCreate
fonction peut l'amener à être initialisé qu'une seule fois, comme une Activité peut être créé plus d'une fois au cours de l'application du cycle de vie.Au lieu de cela, créer un classe d'Application (et ajouter un
android:name
attribut de votre de votre application est manifeste).Application: (Note n'est pas une Activité de Service et/ou le Récepteur)
AndroidManifest:
onCreate
dans un application de classe ou dans un Activité/Service/Récepteur? Il ne fonctionnera pas si vous le faites en quelque chose, mais d'une application. Pouvez-vous fournir le code et le contexte de votreonCreate
méthode? Qui peut vous aider à trouver la solution.oncreate
. Et oui, le fichier de manifeste a unapplication
.Parse.initialize()
danspublic class Application extends android.app.Application
PASpublic class MyActivity extends Activity
Parse.initialize()
) Analyser SDK de l'Activité ou du service en raison d'initialisation peut être effectuée qu'une seule fois dans l'ensemble du processus de demande. Point d'entrée pour le processus deApplication
classe qui vous permettent d'étendre et d'ajouter Analyser le code d'initialisation comme dans @Khalos answear. Afin de supprimerParse.initialize
de l'Activité onCreate et de mettre en Application onCreate.Tant pis, j'ai corrigé. Le problème était dû à une erreur de syntaxe. Merci à tous pour la solution.
C'est bizarre que j'ai suivi ce qui est donné, mais maintenant, je ne reçois pas toutes les notifications push à tous? Les seules modifications que j'ai apporté:
Manifeste
Classe d'Application
Vérifier l'initialisation de vous-même et juste gérer l'exception, et l'erreur ne va pas planter l'application juste tranquillement jeter l'exception.
Je l'ai résolu en utilisant un booléen isParseInitialized variable .Travaux sur le changement d'orientation c'est à dire lorsque l'activité est recréé dans la même session de l'Application . Extrait de Code :
c'est une solution