您的位置:首页 > 其它

通知栏实现

2016-04-06 17:43 375 查看
1、权限,因为要通过延期意图拨打电话,所以要配置一个可以打电话的权限

<uses-permission android:name="android.permission.CALL_PHONE"/>

2、代码示例

package com.example.notifydemo;

import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.app.Notification;
import android.app.Notification.Builder;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@SuppressLint("NewApi")
public void click(View view){
//get a NotificationManager obj
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//图标、标题、时间
Notification notification = new Notification(R.drawable.ic_launcher,"我是一个notification",System.currentTimeMillis());
notification.flags = Notification.FLAG_AUTO_CANCEL;//这个标志位的设置表示在点击后取消通知栏的该内容
/*****意图start*****/
Intent intent = new Intent();
intent.setAction(Intent.ACTION_CALL);
intent.setData(Uri.parse("tel:110"));
/*****意图end*****/
//第二个参数为请求码,第四个是附加参数
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);//延期意图
notification.setLatestEventInfo(this, "我是标题", "我是文本", pendingIntent);//延期意图高版本可以为null,低版本的则不能够为null

//3.0之后才能够使用的代码---start
/*Notification.Builder builder = new Builder(this);
builder.setContentTitle("我是notification标题")
.setContentText("我是notification内容!")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher));
Notification notification = builder.build();*/
//3.0之后才能够使用的代码---end

//第一个参数为id
nm.notify(0, notification);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: