我有一个activity,是用来识别一个NFC标签的。这个activity如果没有搜寻到NFC标签的话就不做任何事情。因为我们知道设备在搜索到NFC标签的时候会发出一个新的intent,并且通过intent-filter选择能处理的activity来运行。
activity
intent
intent-filter
现在我的问题是,假设设备搜索到了NFC标签,并且发出一个Intent(),我的activity这个时候正好在堆栈顶部,它的onNewIntent()是否会被触发?
Intent()
onNewIntent()
闭关修行中......
我想這跟NFC沒什麼關係吧,看你是怎麼設定的該Activity啟動模式,如果你設定該Activity launchMode是SingleTask或SingleTop,那麼在上述情況下,就不會新建一個Activity實例,而是調用onNewIntent()
NFC有前台調度系統,意思是如果當前前台的Activity能夠處理NFC Intent並且開啟了前台調度。 NFC調度系統就會優先把目前NFC Intent交給目前的Activity,如果你將啟動模式設為singleTop,就會直接觸發onNewIntent()。如果你沒開啟前台調度,就會在螢幕下方彈出應用程式選擇列表,當你選擇了目前的Activity是,就會觸發onNewIntent()。
我想這跟NFC沒什麼關係吧,看你是怎麼設定的該Activity啟動模式,如果你設定該Activity launchMode是SingleTask或SingleTop,那麼在上述情況下,就不會新建一個Activity實例,而是調用onNewIntent()
NFC有前台調度系統,意思是如果當前前台的Activity能夠處理NFC Intent並且開啟了前台調度。 NFC調度系統就會優先把目前NFC Intent交給目前的Activity,如果你將啟動模式設為singleTop,就會直接觸發onNewIntent()。如果你沒開啟前台調度,就會在螢幕下方彈出應用程式選擇列表,當你選擇了目前的Activity是,就會觸發onNewIntent()。