
广播接收器的代码:
package pit.opensource.events;import java.util.Calendar;import androID.app.AlarmManager;import androID.app.PendingIntent;import androID.app.Service;import androID.content.broadcastReceiver;import androID.content.Context;import androID.content.Intent;import androID.util.Log;public class BootReciver extends broadcastReceiver { Context c; @OverrIDe public voID onReceive(Context context,Intent intent) { // Todo auto-generated method stub // Intent i = new Intent(context,SetAlarmService.class); // context.startService(i); setAlarm(context); Log.d("Alarm","Boot Reciver"); } private voID setAlarm(Context c){ Log.d("Alarm","Set alarm service--------------"); AlarmManager alarm = (AlarmManager)c.getSystemService(Service.ALARM_SERVICE); Calendar cal = Calendar.getInstance(); cal.setTimeInMillis(System.currentTimeMillis()); cal.clear(); cal.set(2012,5,11,11); Intent i = new Intent(c,ShowNotificationService.class); PendingIntent pendingIntent = PendingIntent.getService(c,12345,i,0); // alarm.set(AlarmManager.RTC_WAKEUP,dateNotif.getTime(),pendingIntent); //alarm.set(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),pendingIntent); alarm.set(AlarmManager.RTC_WAKEUP,5000,pendingIntent); Log.d("Alarm","Alarm is alreday set*****************"); }} ShowNotificationService的代码:
package pit.opensource.events;import androID.app.Notification;import androID.app.notificationmanager;import androID.app.PendingIntent;import androID.app.Service;import androID.content.Intent;import androID.os.IBinder;import androID.util.Log;import androID.Widget.Toast;public class ShowNotificationService extends Service { @OverrIDe public IBinder onBind(Intent intent) { // Todo auto-generated method stub return null; } @OverrIDe public voID onStart(Intent intent,int startID){ Toast.makeText(getApplicationContext(),"Alaraaaaaaaam",Toast.LENGTH_LONG).show(); Log.d("Alarm","Notification Service"); showNotification(); } private voID showNotification(){ Intent i = new Intent(getApplicationContext(),DetailsActivity.class); Toast.makeText(getApplicationContext(),"Dowanlod finished!",Toast.LENGTH_LONG).show(); int notificationID = 1; notificationmanager nm = (notificationmanager) getSystemService(getApplicationContext().NOTIFICATION_SERVICE); Log.d("Notification","Notification is set--------------------"); PendingIntent contentIntent = PendingIntent.getActivity(getApplicationContext(),0); CharSequence tickerText = "Alaraaaaaaaam!"; long when = System.currentTimeMillis(); int icon = R.drawable.ic_launcher; Notification notification = new Notification(icon,tickerText,when); CharSequence contentTitle = "Alarm Alarm Alarm Alarm !!"; CharSequence contentText = "Please click here to display more details"; notification.setLatestEventInfo(getApplicationContext(),contentTitle,contentText,contentIntent); //---100ms delay,vibrate for 250ms,pause for 100 ms and // then vibrate for 500ms--- notification.vibrate = new long[] { 100,250,100,500}; // Needs vibrate permissions nm.notify(notificationID,notification); }}解决方法 通知消失了,因为在broadcastReceiver完成后,您的应用程序不再处于活动状态.并且会自动删除来自非活动应用程序的通知. 总结 以上是内存溢出为你收集整理的为什么noftifications出现在android通知栏中一段时间然后消失全部内容,希望文章能够帮你解决为什么noftifications出现在android通知栏中一段时间然后消失所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)