tha*_*guy 8 android alarmmanager
我试图在指定的时间设置一个警报,但它没有被我的reciver捕获.
建立:
Intent intent = new Intent(this, ActionReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
Calendar current = Calendar.getInstance();
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, (current.getTimeInMillis() + 60000),3600000, pendingIntent);
Run Code Online (Sandbox Code Playgroud)
这是我的收发器:
public class ActionReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Bundle bundle = intent.getExtras(); //breakpoint here that doesn't get triggered
}
}
Run Code Online (Sandbox Code Playgroud)
我把这些值放在我的清单中:
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<receiver android:name="com.project.ActionReceiver" android:enabled="true" />
Run Code Online (Sandbox Code Playgroud)
不确定有什么问题...谢谢!
清单中接收者的名称应该是类名称,例如:
<receiver android:name="com.project.ActionReceiver">
Run Code Online (Sandbox Code Playgroud)
顺便说一句,设定一个行动是更好的做法。
Intent intent = new Intent(this, ActionReceiver.class);
intent.setAction("com.project.action.ALERM");
Run Code Online (Sandbox Code Playgroud)
并且在清单中
<receiver android:name="com.project.ActionReceiver">
<intent-filter>
<action android:name="com.project.action.ALERM"/>
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11210 次 |
| 最近记录: |