2016-10-02 7 views
0

私はOneSignalプッシュ通知サービスを使用しています。 ユーザーがプッシュ通知をクリックすると、自動的に「Main2Activity.java」という新しいアクティビティが開きます。 ユーザーが通知をクリックすると、コードは機能しており、新しいアクセス権を開きます。しかし、別のプッシュ通知を送信している場合、ユーザーが通知をクリックすると、アプリケーションは最初に "MainActivity.java"を開きます。ユーザーが電話でpreviusボタンをクリックしたときにのみ、 "MainActicity2.java"が開きます。 これは私のコード プッシュ通知が新しいアクティビティを開く

ありがとう

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.util.Log; 
import android.widget.Toast; 

import com.onesignal.OSNotificationAction; 
import com.onesignal.OSNotificationOpenResult; 
import com.onesignal.OneSignal; 

import org.json.JSONObject; 

public class MainActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     OneSignal.startInit(this) 
       .setNotificationOpenedHandler(new ExampleNotificationOpenedHandler()) 
       .init(); 
    } 

    class ExampleNotificationOpenedHandler implements OneSignal.NotificationOpenedHandler { 
     // This fires when a notification is opened by tapping on it. 
     @Override 
     public void notificationOpened(OSNotificationOpenResult result) { 
      OSNotificationAction.ActionType actionType = result.action.type; 
      JSONObject data = result.notification.payload.additionalData; 
      String customKey; 

      if (data != null) { 
       customKey = data.optString("customkey", null); 
       if (customKey != null) { 
        Log.i("OneSignalExample", "customkey set with value: " + customKey); 
        Toast.makeText(MainActivity.this,"My Custom Key is:"+customKey,Toast.LENGTH_LONG).show(); 
        Intent intent = new Intent(getApplicationContext(), Main2Activity.class); 
         intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_NEW_TASK); 

        startActivity(intent); 


       } 
      } 

     } 
    } 
} 
です!

答えて

0

すると、通知から開くアクティビティ、あなたがユーザーを識別であるいくつかのデータを入れたが、その後、チェック通知

いつmainactivity2からユーザーを押して[戻る]ボタンから来た通知から来た場合、利用者は、通知や他の場所から来ましたアプリを閉じる。

[OK]をクリックしてmenifest.xmlにコードの下に

<activity .. 
     android:launchMode= "singleInstance" /> 
+0

を追加しますが、ユーザーはMainActivity – Jack

+0

は、その後、あなたのマニフェストファイル、アンドロイドにこの行を追加開いて通知をクリックしたときに問題がある:launchMode = "singleTop" thebあなたのアプリは複数のアクティビティインスタンスを開くことはありません –

+0

私はコードを使ってそれを行う方法を理解できませんでした。私を助けてくれますか? – Jack

関連する問題