AlarmManager / BroadcastReceiver不起作用

时间:2014-02-10 16:04:26

标签: android android-intent broadcastreceiver

我有这个问题,其中AlarmManager正常工作或BroadcastReceiver没有收到通知。当我在API 10(2.3.7)上测试应用程序时会发生此问题,但是当我在API 14 ++上测试它时,它运行正常。 下面是调用AlarmManager的代码片段:

AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent Notifyintent = new Intent(MainActivity.this, Notify.class);
PendingIntent Notifysender = PendingIntent.getBroadcast(getApplicationContext(),
0, Notifyintent, PendingIntent.FLAG_UPDATE_CURRENT);
am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), Notifysender);

这是BroadcastReceiver类:

public class Notify extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("Notify","OnReceive");
    }
}

AndroidManifest.xml

    <receiver android:name=".Notify">
        <intent-filter>
            <action android:name="android.intent.action.NOTIFY"/>
        </intent-filter>
    </receiver>

如果上面的代码在API 10(2.3.7)上运行,则不会显示“Notify”日志消息,但是如果它在API 14 ++上运行,则“Notify”日志消息就会显示正常。

谢谢:)

2 个答案:

答案 0 :(得分:0)

对不起,对不起,在不同的模拟器(相同的API 10 2.3.7)中尝试后,它实际上工作得很好。 所以我认为这个问题可能与模拟器有关。 谢谢:))

答案 1 :(得分:0)

检查你的清单。
机器人:targetSdkVersion = “Y”

和 在某些设备中,警报或广播可能会被框架阻止,您最好在模拟中进行验证。