我试图让我的通知有一个按钮,当点击它应该调用我的服务,这是控制音频播放.
这是我的意图通知
Intent intent = new Intent(context,AudioStreamService.class); Random generator = new Random(); PendingIntent i = PendingIntent.getActivity(context,579,intent,PendingIntent.FLAG_UPDATE_CURRENT); final NotificationCompat.Builder builder = new NotificationCompat.Builder(context) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle(title) .setContentText(text) .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setLargeIcon(picture) .setTicker(ticker) .setNumber(number) .setOngoing(true) .addAction( R.drawable.ic_action_stat_reply,res.getString(R.string.action_reply),i); notify(context,builder.build());
这是我服务的开始
public int onStartCommand(Intent intent,int flags,int startId) { Log.e("APP ID","APP ID - service called "); if(isPlaying){ stop(); } else { play(); } return Service.START_STICKY; }
解决方法
使用 :
PendingIntent pendingIntent = PendingIntent.getService(context,PendingIntent.FLAG_UPDATE_CURRENT);
代替 :
PendingIntent pendingIntent = PendingIntent.getActivity(context,PendingIntent.FLAG_UPDATE_CURRENT);
^^这用于从通知中启动活动.