【发布时间】:2012-03-10 04:27:41
【问题描述】:
首先,用例:两部手机在同一个屏幕上打开了我的应用程序。我希望一个用户能够与另一个用户共享屏幕内容(数据),而不必在使用 NFC 发送时打开新的活动实例。 (两台 Android 设备都运行 Ice Cream Sandwich)
所以我在清单中有一个像这样声明的 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() 方法会在活动的新 实例中调用。
【问题讨论】:
标签: android android-intent android-activity nfc android-beam