Activity.onNewIntent

前回のように、ショートカットでIntentを送っても、既に起動しているとonCreateに来ないので、何らかの処理ができない。
ActivityをsingleTopにできるのであれば、onNewIntentで拾うことができる。

Activity  |  Android Developers

AndroidManifest.xmlで、

activityのandroid:launchModeをsingleTopにする。

onNewIntentで渡されたIntentの処理をする。

Activity_を起動
Activity_を起動

Activity_を起動。

起動されてなければonCreateでnull
起動されてなければonCreateでnull

メニューから起動されてなければonCreateでnull。

urlもnull
urlもnull

urlもnull。

Buttonを押して
Buttonを押して

Buttonを押して、

ショートカット作成
ショートカット作成

ショートカット作成。

起動されてない状態
起動されてない状態

削除して起動されてない状態に。

ショートカット起動
ショートカット起動

ショートカット起動。

起動されてないからonCreateに
起動されてないからonCreateに

起動されてないからonCreateに。

でもメニューから起動されてるからタイトルとURLは来てる。
でもメニューから起動されてるからタイトルとURLは来てる。

でもメニューから起動されてるからタイトルとURLは来てる。

残したまま
残したまま

さて、残したままで、

ショートカット起動
ショートカット起動

ショートカット起動。

onNewIntent
onNewIntent

onNewIntentに来る。

タイトルとURLが表示される
タイトルとURLが表示される

タイトルとURLが表示される。

Sample/android/Activity/onNewIntent/src/Activity at master · bg1bgst333/Sample · GitHub