按默认排序 | 显示最新评论 | 回页面顶部共有2个评论 发表评论»
-
rigortek 回答于 2012-09-11 15:49系统起来后就周期性的发送广播,有必要么?这得不停消耗资源。
再者service反复被调用
onStart有无问题?
系统起来后
能不能在改进为这样?
启动
Alarmreceiver,service
再kill
Alarmreceiver,
service在被kill时,启动
Alarmreceiver,如此循环。
-
当空皓月 回答于 2013-12-09 20:28
真机测试,重启手机,收不到广播啊,怎么回事?
没有打印任何东西啊
public class BootBroadcast extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
System.out.println("BootBroadcast 收到!");
if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED))
{
System.out.println("BootBroadcast 进入条件语句!");
Intent intent2=new Intent(context, AlarmReceiver.class);
intent.setAction("my.alarm.action");
PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent2, 0);
long firsttime = SystemClock.elapsedRealtime();
System.out.println("firsttime:"+firsttime);
AlarmManager mAlarmManager=(AlarmManager)context.getSystemService(context.ALARM_SERVICE);
//10s一个周期,不停的发送广播
mAlarmManager.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firsttime, 10*1000, sender);
}
}<receiver android:name="com.interview.broadcast.BootBroadcast"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>