Lit*_*ild 4 android android-service android-pendingintent android-remoteview
因此,在经过大量的努力之后,我才结束了.我的RemoteViews通知中有一个媒体播放器,我希望能够访问播放,暂停,上一个和下一个按钮.
我知道setOnClickPendingIntent()将用于通知通知.但是,我想知道它是如何工作的.
是否可以让服务处理点击?
我试过这个,但是徒劳无功.我试图让我服务处理播放器的暂停和恢复:
rm = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notif_media_player);
Intent intent = new Intent(getApplicationContext(), MusicService.class);
intent.putExtra(REQUEST_CODE, PAUSE);
PendingIntent pending = PendingIntent.getService(getApplicationContext(), PAUSE, intent, 0);
rm.setPendingIntentTemplate(R.id.pause, pending);
Notification notif = new NotificationCompat.Builder(getApplicationContext())
.setOngoing(true)
.setSmallIcon(R.drawable.ic_launcher)
.setContent(rm)
.build();
NotificationManager mgr = (NotificationManager) getApplicationContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
mgr.notify(NOTIFICATION_ID, notif);
Run Code Online (Sandbox Code Playgroud)
我的IBinder是空的.如果这有所作为.
如何从通知中暂停和播放音乐?
根据CommonsWare建议:
rm = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notif_media_player);
Intent pauseIntent = new Intent(getApplicationContext(), MusicService.class);
Intent dismissIntent = new Intent(getApplicationContext(), MusicService.class);
pauseIntent.putExtra(REQUEST_CODE, PAUSE);
dismissIntent.putExtra(REQUEST_CODE, DISMISS);
PendingIntent pause = PendingIntent.getService(getApplicationContext(), PAUSE, pauseIntent, 0);
PendingIntent dismiss = PendingIntent.getService(getApplicationContext(), DISMISS, dismissIntent, 0);
rm.setOnClickPendingIntent(R.id.pause, pause);
rm.setOnClickPendingIntent(R.id.dismiss, dismiss);
Notification notif = new NotificationCompat.Builder(getApplicationContext())
.setOngoing(true)
.setSmallIcon(R.drawable.ic_launcher)
.setContent(rm)
.build();
NotificationManager mgr = (NotificationManager) getApplicationContext()
.getSystemService(Context.NOTIFICATION_SERVICE);
mgr.notify(NOTIFICATION_ID, notif);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6111 次 |
| 最近记录: |