0

アプリを開いたときにNFCタグを読み取ろうとしています(タグをスキャンすると自動的に開きます)が、ペイロードを読み取れないようです。実際、私はタグをまったく拾うことができないようです。別のアプリを使用して、タグのmimeタイプとペイロードを読み取りました。すべて問題ないようです。

これが明らかなものである場合はお詫びします-投稿する前にドキュメントを読み、他のさまざまなソースを確認しましたが、役に立ちませんでした。

私が見ることができるエラーはなく、コードは正常にコンパイルされます。以下のコード。Logcatは次のことを示しています。

08-30 20:15:50.248: E/Activity...(3703): Hello world. Intent Type: null

package com.spotsofmagic.spotsofmagic;

import android.app.Activity;
import android.app.AlertDialog;
import android.bluetooth.BluetoothAdapter;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.Intent;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.Log;
import android.widget.TextView;


public class MainActivity extends Activity implements OnClickListener {
    private static final String TAG = "Activity...";
    private NfcAdapter mAdapter;
    private TextView mTextView;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_activity);

        // grab our NFC Adapter
        mAdapter = NfcAdapter.getDefaultAdapter(this);

        // TextView that we'll use to output messages to screen
        mTextView = (TextView)findViewById(R.id.text_view);

        displayMessage("Loading payload...");
        // see if app was started from a tag and show game console
        Intent intent = getIntent();


        Log.e(TAG, "Hello world.  Intent Type: "+ intent.getType());

マニフェストファイル;

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

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

<application
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <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>

     <activity
        android:name=".CardActivity"
        android:label="@string/app_name" >

        <!-- Handle a collectable card NDEF record -->
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <data android:mimeType="application/vnd.spotsofmagic.bluetoothon"/>
            <category android:name="android.intent.category.DEFAULT"/>
        </intent-filter>
     </activity>

</application>

4

1 に答える 1

1

The NFC intent filter is for CardActivity, not for MainActivity. So I would expect that the problem is in CardActivity.

于 2012-08-30T20:37:17.920 に答える