android点击通知栏之后消失,为什么noftifications出现在android通知栏中一段时间​​然后消失...

我正在使用BroadCastReceiver,其中接收BOOT_COMPLETED操作.收到此广播后,会设置AlarmManager,此AlarmManager会触发通知:

广播接收器的代码:

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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值