앱을 열 때 (태그를 스캔 할 때 자동으로 열림) NFC 태그를 읽으려고하지만 페이로드를 읽을 수 없습니다. 사실, 나는 태그를 전혀 고를 수 없다. 태그의 MIME 형식과 페이로드를 읽는 데 다른 앱을 사용했습니다. 모든 것이 잘된 것처럼 보입니다.Android NFC 태그 읽기. 의도 항상 null
분명한 사실은 사과드립니다. - 게시하기 전에 설명서를 읽고 다양한 다른 출처를 확인했지만 아무런 소용이 없습니다.
내가 볼 수 있으며 코드를 컴파일해도 괜찮습니다. 아래 코드 로그 캣 쇼 :
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>
매니페스트 파일의 내용을 표시 할 수 있습니까? –
물론입니다. 방금 게시물을 편집하고 하단에 나타났습니다. – Mike
나는 타입을 얻을 수는 없지만 그것이 도움이된다면'intent.getAction()'을 할 수있다. 이걸로 나는 의도가 null이 아니라는 것을 알고 있습니다. 당신의 경우가 다를 수도 있습니다. –