点击通知后打开应用程序Android

问题描述:

我想通知点击后运行我的应用程序!点击通知后打开应用程序Android

我想运行:应用程序 - > com.zaglebiefm.Radio

此文件diectory:库 - > com.zaglebiefm.library.Notyfication

Notification.class:

private void buildNotification() { 

     Intent intentPlayPause = new Intent(NOTIFICATION_INTENT_PLAY_PAUSE); 
     Intent intentOpenPlayer = new Intent(NOTIFICATION_INTENT_OPEN_PLAYER); 
     Intent intentCancel = new Intent(NOTIFICATION_INTENT_CANCEL); 

     PendingIntent playPausePending = PendingIntent.getBroadcast(this, 23, intentPlayPause, 0); 
     PendingIntent openPending = PendingIntent.getBroadcast(this, 31, intentOpenPlayer, 0); 
     PendingIntent cancelPending = PendingIntent.getBroadcast(this, 12, intentCancel, 0); 


     RemoteViews mNotificationTemplate = new RemoteViews(this.getPackageName(), R.layout.notification); 
     Notification.Builder notificationBuilder = new Notification.Builder(this); 

     if (artImage == null) 
      artImage = BitmapFactory.decodeResource(getResources(), R.drawable.default_art); 

     mNotificationTemplate.setTextViewText(R.id.notification_line_one, singerName); 
     mNotificationTemplate.setTextViewText(R.id.notification_line_two, songName); 
     mNotificationTemplate.setImageViewResource(R.id.notification_play, isPlaying() ? R.drawable.btn_playback_pause : R.drawable.btn_playback_play); 
     mNotificationTemplate.setImageViewBitmap(R.id.notification_image, artImage); 

     mNotificationTemplate.setOnClickPendingIntent(R.id.notification_play, playPausePending); 




     Notification notification = notificationBuilder 
       .setSmallIcon(smallImage) 
       .setContentIntent(openPending) 
       .setPriority(Notification.PRIORITY_DEFAULT) 
       .setContent(mNotificationTemplate) 
       .setUsesChronometer(true) 
       .build(); 


     if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 

      RemoteViews mExpandedView = new RemoteViews(this.getPackageName(), R.layout.notification_expanded); 

      mExpandedView.setTextViewText(R.id.notification_line_one, singerName); 
      mExpandedView.setTextViewText(R.id.notification_line_two, songName); 
      mExpandedView.setImageViewResource(R.id.notification_expanded_play, isPlaying() ? R.drawable.btn_playback_pause : R.drawable.btn_playback_play); 
      mExpandedView.setImageViewBitmap(R.id.notification_image, artImage); 

      mExpandedView.setOnClickPendingIntent(R.id.notification_expanded_play, playPausePending); 

      notification.bigContentView = mExpandedView; 
     } 

     if (mNotificationManager != null) 
      mNotificationManager.notify(NOTIFICATION_ID, notification); 

    } 

我尝试了一些东西,但他们不会为我工作。

任何想法或解决方案。

+0

使用这样的:意向intentOpenPlayer =新意图(getApplicationContext(),Radio.class); –

+0

我试过但我想运行的文件是在不同的难题。 –

+0

这不是问题。尝试以上方法 –

使用下面的代码来启动所需/目标应用程序活动。

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, new Intent(context,YourTargetActivity.class), 0); 
mBuilder.setContentIntent(pendingIntent); 

这应该有效。

+0

应用程序 - > com.zaglebiefm.Radio库 - > com.zaglebiefm.library.Notyfication –

+0

澄清您的评论请... –

+0

http://imgur.com/a/T7pBo –

Intent myintent = new Intent(this, Splash_Activity.class); 
     myintent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | 
       Intent.FLAG_ACTIVITY_NEW_TASK); 
int randomPIN = (int)(Math.random()*9000)+1000; 
    PendingIntent conIntent = PendingIntent.getActivity(this, randomPIN, 
      myintent, PendingIntent.FLAG_UPDATE_CURRENT); 
    builder.setContentIntent(conIntent); 

这将工作

+0

http://imgur.com/a/1KYPZ –

+0

我想从RadioPlayerServiece打开应用程序。 –