我在整天搜索如何在我看来这么做简单的任务...我的应用程序中有一个闹钟,当它关闭时我想将我的应用程序在用户屏幕前,因此他可以关闭报警... 在我的活动我已成立的意图,致电reciever ...即使当用户点击主页按钮时,从报警广播接收器开始活动
registerReceiver(mReceiver, new IntentFilter("sample"));
PendingIntent pendingIntent = PendingIntent.getBroadcast(MapActivity.this, 0, new Intent("sample"),0);
AlarmManager alarmManager = (AlarmManager)(MapActivity.this.getSystemService(Context.ALARM_SERVICE));
,这是我onRecieve方法
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Alarm time has been reached", Toast.LENGTH_LONG).show();
Uri notifikacijaAlarma = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
final Ringtone r = RingtoneManager.getRingtone(getApplicationContext(), notifikacijaAlarma);
r.play();
PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);
WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.FULL_WAKE_LOCK, "TRAININGCOUNDOWN");
wl.acquire();
Intent i = new Intent(getBaseContext(), GlavniIzbornik.class);
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setFlags(Intent.FLAG_FROM_BACKGROUND | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK| Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);
startActivity(i);
wl.release();
}
所以即使当我去另一个应用程序或做其他事情时,我的闹钟也会熄灭在手机上...它显示吐司和播放铃声,但它不会把我的应用程序前面,当我手动去我的应用程序开始活动,但我不能得到它,所以它会把我的应用程序前面。
有没有人对此有一些建议?
PS我知道我应该从我的报警活动播放铃声......我只是想看看,如果整个代码被执行...
哇,感谢的人......它终于起作用了......我不能告诉你我在这个问题上花了多少钱...... – user3632055 2014-10-19 21:31:59
感谢的人......我没有看到地方打勾回答,但现在我做到了...... :) – user3632055 2014-10-20 14:05:26
欢迎来到Stackoverflow。享受你的逗留,我希望你学到很多东西。 – 2014-10-20 14:33:14