0

phonegap を使用して作成しているアプリを開くために NFC タグを取得するように指示されており、AndroidManifest.xml ファイルに次のコードを追加しています。

<intent-filter>
   <action android:name="android.nfc.action.NDEF_DISCOVERED" />
    <category android:name="android.intent.category.DEFAULT" />
    <data android:scheme="http"
            android:host="hesdev.nixtel.com"
            android:pathPrefix=""
            android:priority="1000"
            />
</intent-filter> 

NFCタグでアプリを開いて前面に持ってきてほしい。これに似た URL が私のタグに書き込まれます。

hesdev.nixtel.com?nfc=kj43hg4g32o2j34hb3g43j453

私の質問は、なぜそれがうまくいかないのですか? NFC タグをスキャンすると、アプリケーションを開く必要がありますか? そうではありません。タブで Web ブラウザーが開き、上記の URL に移動します。

編集 これは私の完全なマニフェストファイルです...

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.healthe_scan"
    android:versionCode="1"
    android:versionName="1.0" >

    <supports-screens
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true"
    android:resizeable="true"
    android:anyDensity="true"
    />

    <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<!--uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/-->

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.healthe_scan.MainActivity"
            android:label="@string/app_name" 
            android:configChanges="orientation|keyboardHidden">
            <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:scheme="http"
                     android:host="hesdev.nixtel.com"
                     android:pathPrefix=""
                     android:priority="1000"
                     />
            </intent-filter> 

        </activity>
        <activity 
            android:name="org.apache.cordova.DroidGap" 
            android:label="@string/app_name" 
            android:configChanges="orientation|keyboardHidden"> 
            <intent-filter></intent-filter> 
        </activity>
    </application>

</manifest>
4

1 に答える 1

1

排水溝に〜7時間...

コードに問題はありませんでした。正しく機能していなかったのは私のタグでした。私のタグ作成者が何をしていても、ブラウザを開いて指定された URL にリダイレクトしますが、アプリは起動しませんでした。タグライターをこれに変えた...

https://play.google.com/store/apps/details?id=com.nxp.nfc.tagwriter&hl=en

そしてすぐに機能しました。

于 2013-09-06T15:59:22.070 に答える