2016-01-31 5 views
0

Привет, я установил уведомление о синтаксическом разборе. Когда я пытаюсь открыть приложение, мое приложение закрывается.Ошибка установки оповещений о синтаксисе

Logcat

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.goksuahmet.mekim/com.goksuahmet.mekim.splash}: java.lang.IllegalStateException: ParsePlugins is already initialized 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) 
               at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3930) 
               at android.app.ActivityThread.access$900(ActivityThread.java:151) 
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327) 
               at android.os.Handler.dispatchMessage(Handler.java:110) 
               at android.os.Looper.loop(Looper.java:193) 
               at android.app.ActivityThread.main(ActivityThread.java:5292) 
               at java.lang.reflect.Method.invokeNative(Native Method) 
               at java.lang.reflect.Method.invoke(Method.java:515) 
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) 
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 
               at dalvik.system.NativeStart.main(Native Method) 
               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:378) 
               at com.parse.Parse.initialize(Parse.java:331) 
               at com.goksuahmet.mekim.splash.onCreate(splash.java:16) 
               at android.app.Activity.performCreate(Activity.java:5264) 
               at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088) 
               at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302) 
               at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)  
               at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3930)  
               at android.app.ActivityThread.access$900(ActivityThread.java:151)  
               at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1327)  
               at android.os.Handler.dispatchMessage(Handler.java:110)  
               at android.os.Looper.loop(Looper.java:193)  
               at android.app.ActivityThread.main(ActivityThread.java:5292)  
               at java.lang.reflect.Method.invokeNative(Native Method)  
               at java.lang.reflect.Method.invoke(Method.java:515)  
               at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824)  
               at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640)  
               at dalvik.system.NativeStart.main(Native Method) 

Мой Manifest Я пишу код с сайта Parse в.

<?xml version="1.0" encoding="utf-8"?> 

-

<!-- 
    IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below 
    to match your app's package name + ".permission.C2D_MESSAGE". 
--> 
<permission android:protectionLevel="signature" 
    android:name="com.goksuahmet.mekim.permission.C2D_MESSAGE" /> 
<uses-permission android:name="com.goksuahmet.mekim.permission.C2D_MESSAGE" /> 

<supports-screens 
    android:largeScreens="true" 
    android:xlargeScreens="true" /> 
<!-- 
    The ACCESS_COARSE/FINE_LOCATION permissions are not required to use 
    Google Maps Android API v2, but you must specify either coarse or fine 
    location permissions for the 'MyLocation' functionality. 
--> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

<application 
    android:allowBackup="true" 
    android:icon="@mipmap/icon" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/Theme.AppCompat.NoActionBar"> 
    <meta-data 
     android:name="com.parse.APPLICATION_ID" 
     android:value="oKsO63AavckYOzVOiwpUgUBEQhaGECkWiJLV6qti" /> 
    <meta-data 
     android:name="com.parse.CLIENT_KEY" 
     android:value="GoAN842J1l6WlQBUYFXl6AitgO1GFKB93BmU7Oc8" /> 
    <meta-data 
     android:name="com.google.android.maps.v2.API_KEY" 
     android:value="AIzaSyDM27rYpQ4wKwaFFyWU_CvJUHjaHdML-tg" /> 

    <activity android:name=".splash"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".Main" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 
    <activity 
     android:name=".neredeyiz" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 
    <activity 
     android:name=".mekim_nasil" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 

    <service android:name="com.parse.PushService" /> 
    <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> 
    <receiver android:name="com.parse.GcmBroadcastReceiver" 
     android:permission="com.google.android.c2dm.permission.SEND"> 
     <intent-filter> 
      <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
      <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

      <!-- 
       IMPORTANT: Change "com.parse.starter" to match your app's package name. 
      --> 
      <category android:name="com.goksuahmet.mekim" /> 
     </intent-filter> 
    </receiver> 


</application> 

Мой ява Звоню разобрать

@Override 
public void onCreate(Bundle savedInstanceState) { 
    Parse.initialize(this); 
    ParseInstallation.getCurrentInstallation().saveInBackground(); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_splash);} 

Почему мое приложение отключилось? Как я могу это исправить? спасибо ..

ответ

1

Вы, наверное, называется Parse.initialize() в некоторых предыдущих Activity. Этот метод следует вызывать только один раз в жизненном цикле вашего приложения. Скорее создайте класс Application и добавьте Parse.initialize() в его методе onCreate. Так что-то вроде этого:

public class MyApplication extends Application { 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     Parse.initialize(this, getResources().getString(R.string.parse_app_id), getResources().getString(R.string.parse_client_key)); 
    } 

После создания MyApplication класс вам нужно, чтобы добавить его в качестве атрибута (android:name=".MyApplication") в ваше приложение манифеста. Вот как должен выглядеть ваш манифест:

<?xml version="1.0" encoding="utf-8"?> 
    <!-- 
     IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below 
     to match your app's package name + ".permission.C2D_MESSAGE". 
    --> 
    <permission android:protectionLevel="signature" 
     android:name="com.goksuahmet.mekim.permission.C2D_MESSAGE" /> 
    <uses-permission android:name="com.goksuahmet.mekim.permission.C2D_MESSAGE" /> 

    <supports-screens 
     android:largeScreens="true" 
     android:xlargeScreens="true" /> 
    <!-- 
     The ACCESS_COARSE/FINE_LOCATION permissions are not required to use 
     Google Maps Android API v2, but you must specify either coarse or fine 
     location permissions for the 'MyLocation' functionality. 
    --> 
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/icon" 
     android:label="@string/app_name" 
     android:name=".MyApplication" 
     android:supportsRtl="true" 
     android:theme="@style/Theme.AppCompat.NoActionBar"> 
     <meta-data 
      android:name="com.parse.APPLICATION_ID" 
      android:value="oKsO63AavckYOzVOiwpUgUBEQhaGECkWiJLV6qti" /> 
     <meta-data 
      android:name="com.parse.CLIENT_KEY" 
      android:value="GoAN842J1l6WlQBUYFXl6AitgO1GFKB93BmU7Oc8" /> 
     <meta-data 
      android:name="com.google.android.maps.v2.API_KEY" 
      android:value="AIzaSyDM27rYpQ4wKwaFFyWU_CvJUHjaHdML-tg" /> 

     <activity android:name=".splash"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
     <activity 
      android:name=".Main" 
      android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 
     <activity 
      android:name=".neredeyiz" 
      android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 
     <activity 
      android:name=".mekim_nasil" 
      android:theme="@style/Theme.AppCompat.Light.NoActionBar" /> 

     <service android:name="com.parse.PushService" /> 
     <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> 
     <receiver android:name="com.parse.GcmBroadcastReceiver" 
      android:permission="com.google.android.c2dm.permission.SEND"> 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

       <!-- 
        IMPORTANT: Change "com.parse.starter" to match your app's package name. 
       --> 
       <category android:name="com.goksuahmet.mekim" /> 
      </intent-filter> 
     </receiver> 


    </application> 
+0

Спасибо за ответ. Я делаю то, что вы сказали, и у меня другая проблема. Когда я отправлю сигнал, разобрав мое приложение, он выключится. И logcat. –

+0

Процесс: com.goksuahmet.mekim, PID: 25243 java.lang.RuntimeException: невозможно создать сервис com.parse.PushService: java.lang.NullPointerException ' –

+0

Как это решить? –

Смежные вопросы