Android在设备轮换期间不扫描NFC

时间:2016-05-25 08:04:10

标签: android rotation nfc

我有一个使用NFC的应用程序。创建活动并调用enableForegroundDispatch()后,我的应用程序将扫描并接受NFC。但是,当在旋转期间扫描NFC时(意味着尚未创建活动,并且尚未调用enableForegroundDispatch()),默认的Android NFC扫描仪将接管显示收集的"新标签"屏幕。

即使在设备轮换期间,有没有办法继承enableForegroundDispatch()?或者有没有办法暂时"阻止"设备旋转时的默认Android NFC功能?

由于

编辑:应用程序仅在运行时接受NFC扫描。在应用程序未运行时扫描NFC仅显示"收集的新标签"屏

1 个答案:

答案 0 :(得分:1)

有不同的可能性:

为您的活动设置屏幕方向

<activity android:name=".MyActivity"
          android:screenOrientation="portrait"
          android:label="@string/app_name">
设备轮换时

告诉android不重启活动https://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

  

如果您的应用程序不需要在特定期间更新资源   配置更改,你有一个性能限制   要求您避免活动重启,然后您可以声明   您的活动处理配置更改本身,这会阻止   系统重新启动您的活动。

<activity android:name=".MyActivity"
          android:configChanges="orientation|keyboardHidden"
          android:label="@string/app_name">

更新1

如果您使用android:configChanges。您必须按照doc:

中的说明管理自己的屏幕旋转
  

现在,当其中一个配置发生变化时,MyActivity不会   重新开始。相反,MyActivity接到一个电话   onConfigurationChanged()。此方法传递给Configuration对象   指定新设备配置。通过阅读中的字段   配置,您可以确定新的配置和制作   通过更新界面中使用的资源进行适当的更改。   在调用此方法时,您的活动的Resources对象是   已更新以根据新配置返回资源,因此您可以   轻松重置UI的元素,而无需重新启动系统   活性。