首先,使用情况:两部手机在同一屏幕上打开我的应用程序。 我希望一个用户能够将屏幕内容(数据)与另一个用户共享,而无需在使用NFC进行传输时必须打开新的活动实例。(两个Android设备都运行Ice Cream Sandwich)
因此,在清单中声明了一个singleTop活动,如下所示。
当触发一个名为
当触发一个名为
因此,在清单中声明了一个singleTop活动,如下所示。
<activity android:name=".activity.MyActivity" android:configChanges="orientation|keyboardHidden" android:launchMode="singleTop">
<intent-filter android:label="@string/activityLabel">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="a.b.c/x.y.z" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="application/x.y.z"/>
</intent-filter>
</activity>
当触发一个名为
VIEW
的操作且活动已在顶部时,如果活动的实例相同,则调用onNewIntent()
方法。当触发一个名为
NDEF_DISCOVERED
的操作且活动已在顶部时,则在一个新的活动实例中调用onCreate()
方法。