84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
我有一个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()。