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);
}
}
}
}
}
です!
を追加しますが、ユーザーはMainActivity – Jack
は、その後、あなたのマニフェストファイル、アンドロイドにこの行を追加開いて通知をクリックしたときに問題がある:launchMode = "singleTop" thebあなたのアプリは複数のアクティビティインスタンスを開くことはありません –
私はコードを使ってそれを行う方法を理解できませんでした。私を助けてくれますか? – Jack