【问题标题】:ParsePlugins is already initialized errorParsePlugins 已经初始化错误
【发布时间】:2016-01-05 15:03:35
【问题描述】:

我正在使用解析推送通知我收到以下错误

    Caused by: java.lang.IllegalStateException: ParsePlugins is already initialized 
    at com.parse.ParsePlugins.set(ParsePlugins.java:39) 
    at com.parse.ParsePlugins$Android.initialize(ParsePlugins.java:153) 
    at com.parse.Parse.initialize(Parse.java:358) 
    at com.parse.Parse.initialize(Parse.java:344) 
    at notifications.ParseUtils.registerParse(ParseUtils.java:30) 
    at com.techieweb.solutions.pickeronline.SplashActivity.onCreate(SplashActivity.java:24) 
    at android.app.Activity.performCreate(Activity.java:5326) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2218) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2309) 
    at android.app.ActivityTh read.access$700(ActivityThread.java:157) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1289) 
        at android.os.Handler.dispatchMessage(Handler.java:99) 
        at android.os.Looper.loop(Looper.java:176) 
        at android.app.ActivityThread.main(ActivityThread.java:5317) 
        at java.lang.reflect.Method.invokeNative(Native Method) 
        at java.lang.reflect.Method.invoke(Method.java:511) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869) 
        at dalvik.system.NativeStart.main(Native Method)

这是 ParseUtils 类

 public class ParseUtils {

private static String TAG = ParseUtils.class.getSimpleName();

public static void verifyParseConfiguration(Context context) {
    if (TextUtils.isEmpty(AppConfig.PARSE_APPLICATION_ID) || TextUtils.isEmpty(AppConfig.PARSE_CLIENT_KEY)) {
        Toast.makeText(context, "Please configure your Parse Application ID and Client Key in AppConfig.java", Toast.LENGTH_LONG).show();
        ((Activity) context).finish();
    }
}

public static void registerParse(Context context) {
    // initializing parse library
    Parse.initialize(context, AppConfig.PARSE_APPLICATION_ID, AppConfig.PARSE_CLIENT_KEY);
    ParseInstallation.getCurrentInstallation().saveInBackground();

    ParsePush.subscribeInBackground(AppConfig.PARSE_CHANNEL, new SaveCallback() {
        @Override
        public void done(ParseException e) {
            Log.e(TAG, "Successfully subscribed to Parse!");
        }
    });
}

public static void subscribeWithEmail(String email) {
    ParseInstallation installation = ParseInstallation.getCurrentInstallation();

    installation.put("email", email);

    installation.saveInBackground();

    Log.e(TAG, "Subscribed with email: " + email);
}
 }

我已将此作为参考http://www.androidhive.info/2015/06/android-push-notifications-using-parse-com/

这是我的应用程序

 public class MyApplication extends Application {

private static MyApplication mInstance;

@Override
public void onCreate() {
    super.onCreate();
    mInstance = this;

    Parse.initialize(mInstance, AppConfig.PARSE_APPLICATION_ID, AppConfig.PARSE_CLIENT_KEY);
     //register with parse
    ParseUtils.registerParse(this);

}


public static synchronized MyApplication getInstance() {
    return mInstance;
}
 }

请帮忙。

【问题讨论】:

  • @sasikumar 我提到它仍然出错
  • 您必须在 onCreate 类的 onCreate 方法中调用 Parse.initialize()
  • @bigdestroyer 我在 MyApplication 的 onCreate 方法中调用了 Parse.initialize()
  • ParseUtils.registerParse(this) 再次调用Parse.initialize()

标签: android parse-platform


【解决方案1】:

oncCreate()中删除下面的初始化

 Parse.initialize(mInstance, AppConfig.PARSE_APPLICATION_ID, AppConfig.PARSE_CLIENT_KEY);

因为你已经在里面初始化了

ParseUtils.registerParse(this);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 2020-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多