我退出应用程序,重新启动它,出现异常。
public void onCreate() {
-->here Parse.initialize(this, "adfsfasdfs",
"asdfadfsdf");
ParseInstallation.getCurrentInstallation().saveInBackground();
ParseInstallation.create(identity == null ? "No Identity Set"
: identity);
异常
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)
list 文件
<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>
编辑:
我想知道为什么 Parse 会为此抛出异常。为什么不只是 info
并继续前进。它已初始化,如果我再次初始化它,那有什么大不了的。
解决方案
我已经放弃了 Parse。不喜欢Application方式,只是为了烦人维护。
最佳答案
Parse.initialize()
只应整个应用程序调用一次。
在 Activity
的 onCreate
函数中调用它可能会导致它被多次初始化,因为 一个 Activity 可以在一个过程中被创建多次应用的生命周期。
相反,创建一个Application 类(并将android:name
属性添加到您的应用程序的 list 中)。
应用程序:(注意不是 Activity/服务/接收器)
//Note that this is an android.app.Application class.
public class MyApplication extends android.app.Application {
@Override
public void onCreate() {
super.onCreate();
//This will only be called once in your app's entire lifecycle.
Parse.initialize(this,
getResources().getString(R.string.parse_application_id),
getResources().getString(R.string.parse_client_key));
}
安卓 list :
<application
android:name=".MyApplication">
....
<activity>
....
</activity>
</application>
关于java - Caused by : java. lang.IllegalStateException: ParsePlugins is already initialized 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31300277/