首页 > 解决方案 > 读取 NFC 时在工作资料上启动活动

问题描述

我有一个应用程序在检测到 nfc 标签 (ndef) 时启动活动。

我测试并且工作正常。这很简单,在清单中我将其添加到我的活动中:


    <uses-permission android:name="android.permission.NFC" />

    <uses-feature
        android:name="android.hardware.nfc"
        android:required="true" />

        <activity
            android:name=".features.dashboard.view.activity.DashboardActivity"
            android:screenOrientation="portrait">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="application/com.SOME_MYME_TYPE" />
            </intent-filter>

        </activity>

很明显,我使用了一种用来记录标签的 mimetype。我管理“onNewIntent”来处理数据。

当在工作配置文件中安装应用程序时,问题就开始了。应用程序正常启动,但是当我尝试读取 NFC 并启动我的活动时,应用程序什么也不做...

我看过日志,我只发现了这个错误:

ActivityNotFoundException:未找到处理 Intent E/NfcService 的 Activity:未找到活动

我对为什么在我的个人空间中工作以及为什么不在工作资料中工作感到困惑。

在个人空间中,只要检测到 TAG,应用程序就会启动,在工作配置文件中,它仅在活动处于前台并且使用意图过滤器定义以检测 NDEF 时才做出反应。也就是说,如果它在另一个活动中,它会给我一个错误,即它找不到与意图过滤器关联的活动

我已经对此进行了测试: BasicManagedProfile

我正在搜索一些信息,但找不到解决方案。

如果有人可以帮助我,我将不胜感激。

谢谢。

标签: javaandroidandroid-work-profile

解决方案


推荐阅读