安卓6.0的,写一个播放器,想要把Notification改成普通音乐播放器的样子。
状态栏下拉上划整个都非常卡。。。
private void sendCustomerNotification(int command){
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setContentTitle("Notification");
builder.setContentText("S.M.Player 请点击进入播放界面");
builder.setSmallIcon(R.mipmap.ic_launcher);
//builder.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.push));
builder.setAutoCancel(false);
builder.setOngoing(true);
builder.setShowWhen(false);
RemoteViews remoteViews = new RemoteViews(getPackageName(),R.layout.notify);
remoteViews.setTextViewText(R.id.title,"Notification");
remoteViews.setTextViewText(R.id.text,"song"+"index");
// if(command==CommandNext){
// remoteViews.setImageViewResource(R.id.btn1,R.drawable.ic_pause_white);
// }else if(command==CommandPlay){
// if(playerStatus==StatusStop){
// remoteViews.setImageViewResource(R.id.btn1,R.drawable.ic_pause_white);
// }else{
// remoteViews.setImageViewResource(R.id.btn1,R.drawable.ic_play_arrow_white_18dp);
// }
// }
Intent Intent1 = new Intent(this,MusicplayerActivity.class);
Intent1.putExtra("command",1);
//getService(Context context, int requestCode, @NonNull Intent intent, @Flags int flags)
//不同控件的requestCode需要区分开 getActivity broadcoast同理
PendingIntent PIntent1 = PendingIntent.getService(this,5,Intent1,0);
remoteViews.setOnClickPendingIntent(R.id.notifyplaying,PIntent1);
Intent Intent2 = new Intent(this,MusicplayerActivity.class);
Intent2.putExtra("command",2);
PendingIntent PIntent2 = PendingIntent.getService(this,6,Intent2,0);
remoteViews.setOnClickPendingIntent(R.id.notifynextsong,PIntent2);
Intent Intent3 = new Intent(this,MusicplayerActivity.class);
Intent3.putExtra("command",3);
PendingIntent PIntent3 = PendingIntent.getService(this,7,Intent3,0);
remoteViews.setOnClickPendingIntent(R.id.notifypresong,PIntent3);
builder.setContent(remoteViews);
Notification notification = builder.build();
notificationManager.notify(8,notification);
}
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="match_parent"
android:layout_height="64dp"
android:orientation="horizontal">
android:layout_width="wrap_content"
android:paddingLeft="5dp"
android:gravity="center"
android:layout_height="fill_parent"
android:orientation="vertical">
<TextView
android:id="@+id/notifysongtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="this is title"
android:textColor="#FFFFFF"/>
<TextView
android:id="@+id/notifysinger"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="artist"
android:textColor="#FFFFFF"/>
</LinearLayout>
<ImageButton
android:id="@+id/notifypresong"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/lastsong"
/>
<ImageButton
android:id="@+id/notifyplaying"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/play"
/>
<ImageButton
android:id="@+id/notifynextsong"
android:layout_width="40dp"
android:layout_height="40dp"
android:src="@drawable/nextsong"
/>
<ImageButton
android:id="@+id/notifyclose"
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_gravity="right"
android:src="@drawable/randomplay"
/>