Android上的ParseBroadcastReceiver导致我的应用程序在重启设备时崩溃

时间:2015-06-10 23:46:38

标签: android parse-platform crash

我有一个使用Parse的Android应用程序。通常一切都按预期工作。我已经按照所有说明和教程进行了操作,并且我的应用程序都很好。我收到通知,我的应用处理得很好。

我看到的唯一问题是当我的Galaxy S6运行应用程序重启时,我开始“应用程序已经停止”。

现在,此时,我的应用程序甚至没有运行。我能够将问题缩小到ParseBroadcastReceiver:

     <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>

这是有道理的,因为此接收器具有BOOT_COMPLETED的意图过滤器,这意味着此接收器在设备启动时运行。评论这个接收器消除了这个问题。

有没有人看到或解决过这个问题?

1 个答案:

答案 0 :(得分:0)

对不起我的英语,但我会尽力帮助你。

你必须创建一个新的类,它扩展了Application,没有布局,只是一个java类。

我的班级看起来像这样:

public class Init extends Application {

@Override
public void onCreate() {
    super.onCreate();
    Parse.initialize(this, "applicationID", "clientKey");
    ParseInstallation.getCurrentInstallation().saveInBackground();

}

你必须在你的清单上声明如下:

 <application
    android:name="your_package.class_which_initialize_service">
  <!--All your things of your manifest here-->
 </application>

作为明显根的孩子。 (很多时候只是添加

android:name =“your_package.class_which_initialize_service”

就够了

我希望这会帮助你,并为我糟糕的英语再次感到抱歉:P

编辑:是的,评论此行可以解决问题,但服务不会自动初始化。只需手动启动您的应用。 我忘了说初始化服务的句子不能重复,你必须先从类中删除这行,然后复制到我写的类