2012-08-22 46 views
1

有一个BroadcastReceiver,我想创建一个PendingIntentonReceive方法创建的PendingIntent广播接收器的的onReceive()

public class MyPushNotificationReceiver extends BroadcastReceiver { 
.. 
    public void onReceive(Context context, Intent intent) { 

     // How to start a PendingIntent here? 

    } 

大部分来自谷歌的文档内内是不onReceive方法内开始,所以任何样品的CODË我可以用?

谢谢。

回答

1

其使用意图未决在广播reciver一个示例代码请检查

public class MyScheduleReceiver extends BroadcastReceiver { 

// Restart service every 30 minute 
private static final long REPEAT_TIME = 1000 * 30 ; 

@Override 
public void onReceive(Context context, Intent intent) { 
    AlarmManager service = (AlarmManager) context 
      .getSystemService(Context.ALARM_SERVICE); 
    Intent i = new Intent(context, MyStartServiceReceiver.class); 
    PendingIntent pending = PendingIntent.getBroadcast(context, 0, i, 
      PendingIntent.FLAG_CANCEL_CURRENT); 
    Calendar cal = Calendar.getInstance(); 
    // Start 30 seconds after boot completed 
    cal.add(Calendar.SECOND, 30); 
    // 
    // Fetch every 30 seconds 
    // InexactRepeating allows Android to optimize the energy consumption 
    service.setInexactRepeating(AlarmManager.RTC_WAKEUP, 
      cal.getTimeInMillis(), REPEAT_TIME, pending); 

    // service.setRepeating(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), 
    // REPEAT_TIME, pending); 

} 
    } 

这个代码是从vogella ...

相关问题