Android权限未提示用户进行调试

时间:2019-02-13 02:52:32

标签: android nfc android-permissions

我是Android开发的新手,正在开发需要NFC权限的应用程序。由于某些原因,该应用在打开时或在NFC标签或终端附近时不会提示用户。以下是我的AndroidManifest.xml。有人可以告诉我我在做什么错吗?

<?xml version="1.0" encoding="utf-8"?>

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

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <service android:name=".MyHostApduService" android:exported="true"
        android:permission="android.permission.BIND_NFC_SERVICE">
        <intent-filter>
            <action android:name="android.nfc.cardemulation.action.HOST_APDU_SERVICE"/>
        </intent-filter>
        <meta-data android:name="android.nfc.cardemulation.host_apdu_service"
            android:resource="@xml/apduservice"/>
    </service>
</application>

1 个答案:

答案 0 :(得分:1)

NFC许可被分类为PROTECTION_NORMAL(请参阅Permissions overview - Normal permissions)。因此,该权限不需要用户的明确同意,并且根本不应出现请求提示:

来自Permissions overview - Permission approval

  

如果您的应用在其清单中列出了正常权限(即,不会对用户的隐私或设备的操作造成太大风险的权限),则系统会自动将这些权限授予您的应用。

     

[...]

     

只有危险的权限需要用户同意。 [...]


顺便说一句。如果您的意思是说应用程序根本不会触发NFC标签发现事件,则原因是您的清单中似乎没有用于NFC标签发现的任何意图过滤器。有关如何注册标签发现的信息,例如,How to use NFC ACTIONS