1

私の質問では、アクティビティAとアクティビティBの2つのアクティビティがあります。Aがメインアクティビティ、AがアクティビティBの親アクティビティです。アクティビティBには通知このような、またはによって活性A.Android通知アクティビティから親アクティビティに移動

アクティビティ開始アクティビティB:

Intent openIntent = new Intent(context, B.class); 
    openIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    PendingIntent pendingIntentOpen = PendingIntent.getActivity(context, 0 , openIntent, PendingIntent.FLAG_ONE_SHOT); 

    contentView.setOnClickPendingIntent(R.id.textView5NotifyOpen,pendingIntentOpen); 

マニフェスト:

  Intent intent = new Intent(getActivity(), B.class); 
      startActivityForResult(intent, RESULT_ACTIVITY_1); 

通知は、このような活性Bを開始します

<activity 
     android:name=".B" 
     android:parentActivityName=".MainActivity" 
     android:theme="@style/Theme.AppCompat.Light.NoActionBar"> 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="com.eee.ccc.MainActivity" /> 
    </activity> 

活動Bが近く、いくつかのデータを送り返すとき:活動Bのためのこれまでのところ、すべてがうまく動作し

 Intent returnIntent = new Intent(); 
     returnIntent.putExtra("Data",some data); 

     setResult(Activity.RESULT_OK,returnIntent); 
     finish(); 

、私はAから通知から活動Bを起動することができるよけどBの終了アクティビティAが呼び出されていないときに通知から起動します。 通知をクリックすると、アクティビティBが開始され、Bが親アクティビティAを終了/終了すると、で開始されます。setResult(Activity.RESULT_OK、returnIntent);およびonActivityResult(int requestCode、int resultCode、Intent data)アクティビティAのが呼び出されます。 感謝!

答えて

0

はTaskStackBuilder

// Intent for the activity to open when user selects the notification 
    Intent detailsIntent = new Intent(this, DetailsActivity.class); 

    // Use TaskStackBuilder to build the back stack and get the PendingIntent 
    PendingIntent pendingIntent = 
      TaskStackBuilder.create(this) 
          // add all of DetailsActivity's parents to the stack, 
          // followed by DetailsActivity itself 
          .addNextIntentWithParentStack(upIntent) 
          .getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT); 

    NotificationCompat.Builder builder = new NotificationCompat.Builder(this); 
    builder.setContentIntent(pendingIntent); 
    ... 

Read this android documentation for more details

をお試しください
関連する問題