将我的应用添加为Android中的点按和付费选项

时间:2017-07-21 15:47:47

标签: android nfc payment-processing android-tap-and-pay

我试图获取有关如何将我的应用添加为Android设备的点按和付费选项的一些信息。

PayPal和Android Pay等应用可以设置为检测到NFC联系时启动的默认应用。我希望我的付款应用程序可以在有人进行NFC点击时启动。

目前我的应用程序可以通过Android Beam功能利用NFC,但我很想知道如何将我的应用程序作为点击付费默认选项包含在内,以便NFC点按直接启动应用程序。

1 个答案:

答案 0 :(得分:0)

我正尝试像您一样做,我发现了这个问题,使您可以将您的应用显示为付款方式。

Application not visible in Tap and Pay

将此行添加到您的android清单中的application标记内...

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

,然后在xml文件夹中使用此内容创建一个名为apdusehvices.xml的文件...

<host-apdu-service xmlns:android="http://schemas.android.com/apk/res/android"
    android:requireDeviceUnlock="true"
    android:apduServiceBanner="@drawable/ic_fingerprint_error">

    <aid-group
        android:category="payment"
        android:description="@string/app_name" >
        <aid-filter
            android:name="325041592E5359532E4444463031"
            android:description="@string/ppse" />
        <aid-filter
            android:name="A0000000041010"
            android:description="@string/mastercard" />
        <aid-filter
            android:name="A0000000031010"
            android:description="@string/visa" />
        <aid-filter
            android:name="A000000003101001"
            android:description="@string/visa" />
        <aid-filter
            android:name="A0000002771010"
            android:description="@string/interac" />
    </aid-group>

您将需要在值=>字符串中设置字符串变量,并在可绘制文件夹中设置背景图片。

现在,我可以选择我的应用程序作为Tap&Pay应用程序,但是当我选择它时,该应用程序崩溃了,我想这是因为我没有在其中创建Service类,而清单指向了my.package.MyPaymentService。