当前位置:操作系统 > 安卓/Android >>

android添加通知到顶部任务栏

[java]
public class NotificationtestActivity extends Activity { 
    private static final int ID = 1213; 
    private static final String KEY_COUNT="keyCount"; 
    private int count; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        Intent intent=this.getIntent(); 
        count=intent.getIntExtra(KEY_COUNT,0);         
        
        this.setTitle("这是第"+Integer.toString(count)+"个"); 
         
        Button btn=(Button) this.findViewById(R.id.button1); 
        btn.setOnClickListener(new View.OnClickListener() { 
             
            @Override 
            public void onClick(View v) { 
                AddNotification(); 
                NotificationtestActivity.this.finish(); 
            } 
        }); 
    } 
    /**
    * 添加顶部通知
    * @author liuzhao
    */ 
    public void AddNotification(){ 
        count++; 
        //添加通知到顶部任务栏 
        //获得NotificationManager实例 
        String service = NOTIFICATION_SERVICE; 
        NotificationManager nm = (NotificationManager)getSystemService(service); 
        //实例化Notification 
        Notification n = new Notification(); 
        //设置显示图标 
        int icon = R.drawable.icon; 
        //设置提示信息 
        String tickerText ="我的程序"; 
        //显示时间 
        long when = System.currentTimeMillis(); 
          
        n.icon = icon; 
        n.tickerText = tickerText; 
        n.when = when; 
        //显示在“正在进行中” 
        //  n.flags = Notification.FLAG_ONGOING_EVENT; 
        n.flags|=Notification.FLAG_AUTO_CANCEL; //自动终止 
        //实例化Intent 
        Intent it = new Intent(this,NotificationtestActivity.class); 
        it.putExtra(KEY_COUNT, count); 
        /*********************
         *获得PendingIntent  
         *FLAG_CANCEL_CURRENT:
         *      如果当前系统中已经存在一个相同的PendingIntent对象,
         *      那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。 
         *FLAG_NO_CREATE:
         *      如果当前系统中不存在相同的PendingIntent对象,
         *      系统将不会创建该PendingIntent对象而是直接返回null。 
         *FLAG_ONE_SHOT:
         *      该PendingIntent只作用一次,
         *      如果该PendingIntent对象已经触发过一次,
         *      那么下次再获取该PendingIntent并且再触发时,
         *      系统将会返回一个SendIntentException,在使用这个标志的时候一定要注意哦。 
         *FLAG_UPDATE_CURRENT:
         *      如果系统中已存在该PendingIntent对象,
         *      那么系统将保留该PendingIntent对象,
         *      但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据,
         *      例如更新Intent中的Extras。这个非常有用,
         *      例如之前提到的,我们需要在每次更新之后更新Intent中的Extras数据,
         *      达到在不同时机传递给MainActivity不同的参数,实现不同的效果。 
         *********************/ 
          
        PendingIntent pi = PendingIntent.getActivity(this, 0, it, PendingIntent.FLAG_UPDATE_CURRENT); 
         
        //设置事件信息,显示在拉开的里面 
        n.setLatestEventInfo(NotificationtestActivity.this,"我的软件"+Integer.toString(count), "我的软件正在运行……", pi); 
      www.zzzyk.com
        //发出通知 
        nm.notify(ID,n); 
    } 
补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,