一:先來效果圖
二:實現步驟
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(); } }
簡單粗暴實用,你值得擁有
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。