알림 트레이에 대한 알림을 만들고 있습니다. 다음과 같이 클릭 의도를 지정합니다.추가 의도를 제거 할 수 없습니다!
Intent intent = new Intent(context, MyActivity.class);
intent.putExtra("foo", true);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.setData(Uri.parse("" + System.currentTimeMillis()));
MyActivity 클래스는 "foo"매개 변수가있는 상태로 시작됩니다. 그러나, 나는 나중에 추가 그 없애 수 없습니다 - 텐트를 고집하는 것 같다
// MyActivity
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
// please go away..
intent.removeExtra("foo");
getIntent().removeExtra("foo");
}
반복하기를 의도의 키 이상은 "foo는"이 더 이상 존재하지 표시되지 않습니다. 그러나 활동을 배경으로 한 다음 다시 포어 그라운드로 가져 오면 "foo"매개 변수가 다시 나타납니다.
누구나 실제로 제거하는 방법을 알고 있습니까? 또한 setIntent(), 같은 동작을 호출 해봤습니다. 런처가 원래의 의도를 유지하고 계속 사용하는 것과 같습니다.
감사합니다.
이것은 자바와 포인터가있는 바보 같은 경우 중 하나입니다. foo없이 복사 한 후 원래 의도를 마무리해야 할 수도 있습니다. – hwrdprkns
아, 원래의 의도를 어떻게 마무리할까요? onNewIntent()에서 finish()를 호출하고 다시 활동을 다시 시작하는 것과 같은 작업을 수행 할 수 있습니까? 나는 사용자가 비열한 점프를 보지 않을 것이라고 추측한다. 나는 그 "foo"를 없앨 것이다. 나는 그것이 일할 수 있다고 생각한다! – user291701
'Intent.finalize()'? – hwrdprkns