Android(安卓)之Notification 用法
16lz
2021-01-24
Notification 可以Android 桌面最上方的状态栏显示信息
分为2步完成创建
1、Notification.Builder 对象创建
builder= new Notification.Builder(this);
builder.setContentTitle("标题")
builder.setContentText("内容信息")
builder.setSmallIcon("右侧小图标")
builder.setLargeIcon("左侧大图标")
builder.setNumber("数字显示在右下角")
builder.setPicture("显示大图")
builder.setOngoing(true) //永久驻留
2、NotificationManager 对象创建
nm=(NotificationManager)getSystemService(NOTIFICATION SERVER);
//显示通知ID信息
nm.notify(ID,builer.build());
//清除通知ID信息
nm.cancel(ID)
//清除所有ID信息
nm.cancelAll();
自定义Notification
RemoteViews 视图容器
支持的布局:FrameLayout
LinearLayout
RelativeLayout
支持的控件:AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
分为2步完成创建
1、Notification.Builder 对象创建
builder= new Notification.Builder(this);
builder.setContentTitle("标题")
builder.setContentText("内容信息")
builder.setSmallIcon("右侧小图标")
builder.setLargeIcon("左侧大图标")
builder.setNumber("数字显示在右下角")
builder.setPicture("显示大图")
builder.setOngoing(true) //永久驻留
2、NotificationManager 对象创建
nm=(NotificationManager)getSystemService(NOTIFICATION SERVER);
//显示通知ID信息
nm.notify(ID,builer.build());
//清除通知ID信息
nm.cancel(ID)
//清除所有ID信息
nm.cancelAll();
自定义Notification
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent"><TextView android:id="@+id/textview" android:layout_width="fill_parent"android:layout_height="wrap_content" android:text="自定义内容"android:textColor="#F00" android:textSize="20sp" android:gravity="center" /><ImageView android:layout_width="wrap_content"android:layout_height="wrap_content" android:src="@drawable/smile"android:layout_gravity="center" /></LinearLayout>
RemoteViews 视图容器
支持的布局:FrameLayout
LinearLayout
RelativeLayout
支持的控件:AnalogClock
Button
Chronometer
ImageButton
ImageView
ProgressBar
TextView
package mobile.android.custom.notification;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.os.Bundle;import android.view.View;import android.widget.RemoteViews;public class Main extends Activity{private NotificationManager mNotificationManager;@Overridepublic void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);}public void onClick_ShowNotification(View view){RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.notification);remoteViews.setTextViewText(R.id.textview, "更新自定义内容");Notification.Builder builder = new Notification.Builder(this).setSmallIcon(R.drawable.smile).setContent(remoteViews);mNotificationManager.notify(1, builder.build());}}
更多相关文章
- 《android 利用自带技术解析json字符》
- Activity 组件的启动流程
- Android(安卓)studio黑科技
- Android(安卓)动态代理以及利用动态代理实现 ServiceHook
- Android主题更换换肤
- [Android5.1]开机动画显示工作流程分析
- MobSF安装使用及过程中遇到的错误
- Android(安卓)如何在代码中动态的添加View 及 指定位置
- Android(安卓)缓存框架 ASimpleCache