0
有些日子是在這裏找到答案,但沒有。BroadcastReceiver並非總是用AlarmManager激發
public class myReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
}
}
活動:
public class TestActivity extends Activity {
private myReceiver rec;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
rec = new myReceiver(); // do I really need this?
AlarmManager am=(AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, myReceiver.class);
PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 1000 * 5 , pi);
}
}
XML
<application ...>
...
<receiver android:name="com.myprj.myReceiver" android:enabled="true"></receiver>
</application>
它的工作原理並不總是但是當 「就是了」 :(
注意!:我開始按Ctrl + F11在Eclipse中,並關閉應用程序與後退按鈕,再次Ctrl-F11!所以,在第7次迭代,應用程序工作(在onReceive烤麪包)。我停下來,刪除d ata並開始再次按下Ctrl-F11,在第3次iteraton上工作,並且第5次迭代也在工作......它是什麼?
'它的工作原理並不總是但是當 「就是了」:('它不易消化,請提供準確的信息! 。 – RobinHood
我添加了toast toReceive,更新了我的設備上的應用程序,它開始工作。好。然後,我從手機中刪除我的應用程序,並重新安裝它沒有任何代碼更改,沒有任何工作......我感到困惑。我在AVD中使用我的真實設備。 – user2230842
要更新什麼?而新鮮安裝不起作用,是嗎? – RobinHood