Android通知

可以用Activity和Service来开始消息通知,两者的区别在于一个是在前台触发,一个是后台服务触发。

  要使用消息通知,必须要用到两个类:NotificationManager和Notification,其他NotificationManager的初始化是用getSystemService方法,并且通过notify方法来向android系统发送消息栏通知和显示。

public class MainActivity extends Activity {  
    private TextView tvTitle;  
    private TextView tvContent;  
    private Button btnSend;  
    private String title;  
    private String content;  

    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.activity_main);  

        tvTitle=(TextView) findViewById(R.id.etTitle);  
        tvContent=(TextView) findViewById(R.id.etContent);  
        btnSend=(Button) findViewById(R.id.btnSend);  

        btnSend.setOnClickListener(new OnClickListener(){  
            public void onClick(View v) {  
                send();  
            }  
        });  

    }  
    public void send(){  
        title=tvTitle.getText().toString();//标题  
        content=tvContent.getText().toString();//内容  

        //1.得到NotificationManager  
        NotificationManager nm=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
        //2.实例化一个通知,指定图标、概要、时间  
        Notification n=new Notification(R.drawable.ic_launcher,"通知",System.currentTimeMillis());  
        //3.指定通知的标题、内容和intent  
        Intent intent = new Intent(this, MainActivity.class);  
        PendingIntent pi= PendingIntent.getActivity(this, 0, intent, 0);  
        n.setLatestEventInfo(this, title, content, pi);  
        //指定声音  
        //n.defaults = Notification.DEFAULT_SOUND;   
        //4.发送通知  
        nm.notify(1, n);  
    }  

}  
//消息通知栏

          //定义NotificationManager

          String ns = Context.NOTIFICATION_SERVICE;

          NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);

          //定义通知栏展现的内容信息

          int icon = R.drawable.icon;

          CharSequence tickerText = "我的通知栏标题";

          long when = System.currentTimeMillis();

          Notification notification = new Notification(icon, tickerText, when);



          //定义下拉通知栏时要展现的内容信息

          Context context = getApplicationContext();

          CharSequence contentTitle = "我的通知栏标展开标题";

          CharSequence contentText = "我的通知栏展开详细内容";

          Intent notificationIntent = new Intent(this, BootStartDemo.class);

          PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);

          notification.setLatestEventInfo(context, contentTitle, contentText,contentIntent); 

          //用mNotificationManager的notify方法通知用户生成标题栏消息通知

          mNotificationManager.notify(1, notification);

你可能感兴趣的:(android)