onReceive在设备启动期间未被调用

时间:2016-08-18 02:33:53

标签: android broadcastreceiver

我目前正在学习如何为Android设备创建应用,并且遇到了一些障碍。我目前正在进行的练习涉及广播意图。我遇到的具体问题是,当我启动设备时,应该有一条日志消息,指出已收到广播意图并且我的应用程序的警报应该重新启动。不幸的是,这些事情都没有发生,因为看起来我的onReceive方法在启动时从未被调用过。据我所知,我的代码完全符合它的要求。我已经包含了我的清单文件以及我的接收器类。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.bignerdranch.android.photogallery">

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".PhotoGalleryActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>

                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <service android:name=".PollService"/>

        <receiver android:name="com.bignerdranch.android.photogallery.StartupReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
    </application>

</manifest>

StartupReceiver.java

   package com.bignerdranch.android.photogallery;

    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
    import android.util.Log;

    /**
     * Created by Danny Wayne on 8/16/2016.
     */
    public class StartupReceiver extends BroadcastReceiver
    {
        private static final String TAG = "StartupReceiver";

        @Override
        public void onReceive(Context context, Intent intent)
        {
            Log.i(TAG, "Received broadcast intent: " + intent.getAction());

            boolean isOn = QueryPreferences.isAlarmOn(context);
            PollService.setServiceAlarm(context, isOn);
        }

   }

任何帮助都将非常感谢!

0 个答案:

没有答案