さて、私は通知で実行されるサービスを持っています。ユーザーが通知をクリックしたときに開かれた新しいインテントでエクストラを配置したいので、MainActivity
開いたときにエクストラを取得できます。私はさまざまな方法で試しましたが、それを機能させる方法がわかりません。
これが私が試したことです:
これはマイサービスです
Intent intent = new Intent(MyService.this, MainActivity.class);
intent.putExtra("EXTRA", StringTEST);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent contentIntent = PendingIntent
.getActivity(getApplicationContext(),
0, intent, 0);
これはアクティビティを正常に開きますが、余分なものを取得できませんか?? これは私がそれを取得しようとした方法です:
主な活動
@Override
public void onNewIntent(Intent intent){
Bundle extras = intent.getExtras();
if(extras != null){
String name = extras.getString("EXTRA");
System.out.println(name);
}
}
@Override
protected void onResume() {
Bundle extras = getIntent().getExtras();
System.out.println(extras+"");
if (extras != null) {
try {
onNewIntent(getIntent());
Intent i = getIntent();
String name = i.getStringExtra("EXTRA");
System.out.println(name);
currentDir = new File(name);
changeFiles();
} catch (Exception e) {
e.printStackTrace();
}
}
super.onResume();
}
これらは私が試した2つの方法ですが、それでもnullになります...何が間違っていますか?
ありがとう