从零开始学androidNotification通知.四十四.
生活随笔
收集整理的這篇文章主要介紹了
从零开始学androidNotification通知.四十四.
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在android中有時會在主界面上收到某些應用的推送,有的可以包含圖片,聲音或者震動效果,當點擊這些提示時,有時還可以進入到發送提示的的應用。
這些提示的推送就是通知,當然通知早根本上也是你一種服務。
首先想要使用通知就必須使用到Notification.Builder 和NotificationManager這兩個類
使用Notification.Builder來取得Notification對象,使用NotificationManager來取得操作通知的對象
當然,我們也可以使用RemoteViews來獲得自定義View來創建自定義的通知
接下來就讓我們一起用例子來學習通知的使用吧
主界面xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity" ><Buttonandroid:id="@+id/button1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentTop="true"android:layout_centerHorizontal="true"android:layout_marginTop="15dp"android:text="原始通知" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignRight="@+id/button1"android:layout_below="@+id/button1"android:layout_marginTop="53dp"android:text="自定通知" /></RelativeLayout>通知界面 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text=" 主界面哦"android:textAppearance="?android:attr/textAppearanceLarge" /></LinearLayout>
自定義通知界面
主文件
package com.example.notification1;import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RemoteViews;public class MainActivity extends Activity {private Button button1, button2;private Notification.Builder builder;private NotificationManager manager;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) this.findViewById(R.id.button1);button2 = (Button) this.findViewById(R.id.button2);builder = new Notification.Builder(this);// 創建一個通知設置manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubPendingIntent pendingIntent = PendingIntent.getActivity(MainActivity.this, 0, new Intent(MainActivity.this,Main.class), 0);// 獲得pendingIntent意圖builder.setContentIntent(pendingIntent);builder.setSmallIcon(R.drawable.b12);builder.setTicker("您有新通知");builder.setContentTitle("降雨橙色預警");builder.setContentText("下午5時降雨將會達到500ml,請市民注意防范");builder.setContentInfo("暴雨,大風");builder.setSubText("本月底7次大雨");builder.setDefaults(Notification.DEFAULT_SOUND);// 設置默認提示生啊long[] vibrate = { 100l, 1000l, 100l, 1000l, 10l, 1000l };// 設置震動的頻率builder.setVibrate(vibrate);// 設置自定義震動Notification notification = builder.build();manager.notify(1000, notification);// 開啟通知}}); //自定義通知button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {// TODO Auto-generated method stubRemoteViews contentRemoteViews = new RemoteViews(getPackageName(), R.layout.custom);// 獲取自定義的layoutIntent intent = new Intent(MainActivity.this, Main.class);PendingIntent conPendingIntent = PendingIntent.getActivity(MainActivity.this, 0, intent, 0);builder.setContent(contentRemoteViews);builder.setContentIntent(conPendingIntent);Notification notification = builder.build();manager.notify(1001, notification);}});}}通知界面JAVA文件
點擊通知
點擊自定義通知
通過本節的學習,希望讀者能夠掌握原始通知的使用和自定義通知的配置和使用。
下節預報:BroadCast廣播
總結
以上是生活随笔為你收集整理的从零开始学androidNotification通知.四十四.的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python刷题用leet_GitHub
- 下一篇: STM32 软件重启导致死机的情况分析