1.先設定手機
設定 ->安全性 -> 螢幕鎖定方式 ->選擇圖形、PIN碼或密碼 ->設定密碼完成 ->選擇隱藏敏感通知內容 ->完成
3.MainActivity.java
package com.terryyamg.lollipopnotificationtest;
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.support.v4.app.NotificationCompat;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btNotification = (Button) findViewById(R.id.btNotification);
btNotification.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, Detail.class); //點選後動作
PendingIntent pIntent = PendingIntent.getActivity(MainActivity.this, (int) System.currentTimeMillis(), intent, 0);
// addAction(int icon, CharSequence title, PendingIntent intent) Deprecated 的解決方法
NotificationCompat.Action detailAction =
new NotificationCompat.Action.Builder(R.mipmap.ic_launcher, "Detail", pIntent).build();
NotificationCompat.Builder builder = new NotificationCompat.Builder(MainActivity.this);
builder.setSmallIcon(R.mipmap.ic_launcher);
builder.setContentTitle("標題");
builder.setContentText("內容");
builder.setOngoing(false); //固定
// builder.setFullScreenIntent(pIntent,true);//一直顯示在最上層 優先於setPriority
builder.setPriority(Notification.PRIORITY_DEFAULT); //通知的位置 - Android 5.0 PRIORITY_MIN在底線以下
builder.setVisibility(NotificationCompat.VISIBILITY_PRIVATE); //顯示訊息-VISIBILITY_PUBLIC 公開,VISIBILITY_PRIVATE私密
builder.addAction(detailAction); //加入下方按鈕
NotificationManager notificationManager =
(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.notify(0, builder.build());
}
});
}
}
4./res/layout/detail.xml5.Detail.java
package com.terryyamg.lollipopnotificationtest;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Detail extends Activity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
TextView tvDetail = (TextView)findViewById(R.id.tvDetail);
tvDetail.setText("跳進來了");
}
}
設定為 VISIBILITY_PUBLIC時
設定為 VISIBILITY_PRIVATE時
檔案下載:
https://github.com/terryyamg/LollipopNotificationTest
參考連結
http://www.intertech.com/Blog/android-development-tutorial-lollipop-notifications/
https://developer.getpebble.com/blog/2014/12/19/Leverage-Android-Actionable-Notifications/
http://stackoverflow.com/questions/13808939/jelly-bean-the-method-setpriorityint-is-undefined-for-the-type-notification





沒有留言 :
張貼留言