カスタム通知通知:通知した後、その定義の表示スタイル]ドロップダウンを通知

注:以下の方法のいくつかはminSdkVersionが21年のbuild.gradleを使用するために変更する必要があります

ただ、このような放送とsetOnClickPendingIntentのRemoteViewを(設定することで、RemoteViewモニタにUIコントロールの設定を通知するためにビューを展開する必要性として、RemoteView(カスタム通知スタイル)にbigContentViewプロパティのビルダービルダーのビルド一般的な通知に追加します)と組み合わせて使用​​する方法

;通知通知
NotificationManagerマネージャー、
静的受信は受信;
//カスタムビュー通知を送信
公共ボイドsendNotificationを(){
Notification.Builderビルダー=新しい新Notification.Builder(この);
builder.setSmallIcon(R.drawable.ic_launcher_background); //小さなアイコンを設定します(表示アイコンの上に展開されていない)
builder.setTicker(「曲のうちQlynMusicとは、それを聞いて来る」);最初の通知の上部に//表示が受信
builder.setWhen(のSystem.currentTimeMillis())を、 //送信時間
builder.setAutoCancel(偽); //後に通知をキャンセルするかどうかは、通知をクリックし
builder.setWhen(のSystem.currentTimeMillisを()); //設定した時間の通知
// setVisibilityを通知を設定するにはどのような状況の下に表示されます
/ *
Notification.VISIBILITY_PUBLIC:いかなる状況が通知を表示されません。
Notification.VISIBILITY_PRIVATE:なしロック画面は、通知を表示しませんがある場合のみ。
Notification.VISIBILITY_SECRET:ように安全ロックの場合は通知なしロック画面ピン、パスワードなどを表示することができるようにします。
* /
Builder.setVisibility(Notification.VISIBILITY_PUBLIC);

//設定されたイベント通知応答アクティビティ、PendingIntent遅延はインテントとして理解することができる
(この、MainActivity.class)=インテントテント新しい新しい意図;
PendingIntent pendingIntent = PendingIntent.getActivity(本、0 、テント、0);
builder.setContentIntent(pendingIntent);

//設定通知振動:添字が長く残りは偶数、奇数の長さの振動ミリ秒で表し
//が登録権限ステートメントを配置する必要があります:
// <-permission用途アンドロイド:名= "android.permission.VIBRATE" />
ロング[] = {0,1000,1000,1000振動}; //ここケース振動と定常一秒、次いで振動
builder.setVibrate(振動)。

//通知に通知構築
通知builder.build =を();
//カスタムビューを取得
=新しい新しいRemoteViewsのRemoteViews(getPackageName()、R.layout.information);
//遠隔表示画面で設定
remoteViews.setImageViewResource(R.id.nAlbum、android.R.drawable.btn_star_big_on);
remoteViews.setImageViewResource(R.id .nAppIcon、R.mipmap.ic_launcher);
remoteViews.setImageViewResource(R.id.nLastSong、android.R.drawable.ic_media_previous);
IF(mediaPlayer.isPlaying()){
remoteViews.setImageViewResource(R.id.nPlay、R. drawable.pause);
}他{
remoteViews.setImageViewResource(R.id.nPlay、R.drawable.play);
}
remoteViews.setImageViewResource(R.id.nNextSong、android.R.drawable.ic_media_ff);

//はRemoteViewsに設定放送受信装置と連動して使用される制御監視。
意図=新しいテント(「再生」 ); // 一連の行動の意図(http://www.amjmh.com/v/)
PIntentPause = PendingIntent.getBroadcast PendingIntent(これ、0、
意図、0);
remoteViews.setOnClickPendingIntent(R.id.nPlay、pIntentPause);
意図テント新新=( "lastSong"); //設定行動の意図
pIntentPause = PendingIntent.getBroadcast (これは、0が、
その意図は、0);
remoteViews.setOnClickPendingIntent(R.id.nLastSong、pIntentPause);
意図テント新新=( "nastSong"); //アクションの意図を設定
pIntentPause = PendingIntent.getBroadcast(これ、0、
意図を、0);
remoteViews.setOnClickPendingIntent(R.id.nNextSong、pIntentPause);

//カスタムビュー着信通知拡大
notification.bigContentView = RemoteViews;
//通知送信
マネージャ=(NotificationManager)getSystemService(NOTIFICATION_SERVICEします )。
manager.notify(1、通知)。
}
----------------

おすすめ

転載: www.cnblogs.com/hyhy904/p/11414312.html