消息通知栏的实现
代码如下:
package com.example.notificationdemo;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//button
Button bt=(Button) findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//我们要通过builder工厂来创建一个notification的对象
//通过builder对象来设置notification相关的属性值
//我们要获得notification的管理器通过context.getSystemService(context.NOTIFICATION_SERVICE);得到,由其调用notify进行通知
Notification.Builder builder=new Notification.Builder(MainActivity.this);
builder.setContentTitle("我是标题");
builder.setContentText("我是内容");
builder.setSmallIcon(R.drawable.ic_launcher);
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
builder.setLargeIcon(bitmap);
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:"+10086));
PendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this,
111, //请求码
intent,//将来要做的意图
Intent.FLAG_ACTIVITY_NEW_TASK);//标记
builder.setContentIntent(pendingIntent);
builder.setContentInfo("我是详情");
//通知
Notification notification=builder.getNotification();
//需要一个管理器去发送
NotificationManager manager=(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
manager.notify(666, notification);
}
});