一:先來效果圖



二:實現步驟
1.xml布局實現
<?xml version="1.0" encoding="utf-8"?><LinearLayout 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:orientation="vertical"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="edu.feicui.notification.MainActivity"> <Button android:id="@+id/btn_create" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="發送通知" android:textSize="25sp" /></LinearLayout>
2.activity的實現
package edu.feicui.notification;import android.app.Notification;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.widget.RemoteViews;import butterknife.ButterKnife;import butterknife.OnClick;public class MainActivity extends AppCompatActivity { /** * 通知欄Notification */ private NotificationManager mManager; private Notification mNotification; private PendingIntent mIntent; private String cll; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); cll = "今年27號過年喲!"; ButterKnife.bind(this); } @Override public void onContentChanged() { super.onContentChanged(); init(); } private void init() { //初始化通知欄管理者 mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //意圖數組 Intent[] intents = {new Intent(this, NotificationAcitivity.class)}; //待處理意圖對象 mIntent = PendingIntent.getActivities(this, 0, intents, 0); //消息欄通知對象 mNotification = new Notification(); } @OnClick(R.id.btn_create) public void create() { //設置在通知欄的消息圖標 mNotification.icon = R.mipmap.logo_new; //設置在通知欄的信息內容 mNotification.tickerText = "重大消息"; //設置默認的聲音,此外還可以設置震動(需加入權限) mNotification.defaults = Notification.DEFAULT_SOUND; //添加燈光// mNotification.defaults=Notification.DEFAULT_LIGHTS; //不能刪除 mNotification.flags = Notification.FLAG_NO_CLEAR; //設置下拉時的顯示布局 RemoteViews convertView = new RemoteViews(getPackageName(), R.layout.layout_content); convertView.setImageViewResource(R.id.img, R.mipmap.logo_new); convertView.setTextViewText(R.id.txt, cll); mNotification.contentView = convertView; mNotification.contentIntent = mIntent; //發送通知 // 第一個參數唯一的標識該Notification,第二個參數就是Notification對象 mManager.notify(1, mNotification); }}3.AndroidManifest添加權限
<uses-permission android:name="android.permission.VIBRATE"/>
4.跳轉界面的xml
<?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:gravity="center" android:orientation="vertical"> <TextView android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textColor="#ff0000" android:textSize="20dp" android:text="今年27號過年喲!" /></LinearLayout>
5.跳轉activity的實現
package edu.feicui.notification;import android.app.Activity;import android.app.NotificationManager;import android.os.Bundle;import android.widget.TextView;/** * Created by Administrator on 2017-1-20. */public class NotificationAcitivity extends Activity { private NotificationManager mManager; private int index = 2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_notification); //初始化通知欄管理者 mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); index = 2; mManager.cancelAll(); }}簡單粗暴實用,你值得擁有
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!
新聞熱點
疑難解答