类android.nfc.NfcAdapter.ReaderCallback源码实例Demo

下面列出了怎么用android.nfc.NfcAdapter.ReaderCallback的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: android_9.0.0_r45   文件: NfcActivityManager.java
public void enableReaderMode(Activity activity, ReaderCallback callback, int flags,
        Bundle extras) {
    boolean isResumed;
    Binder token;
    synchronized (NfcActivityManager.this) {
        NfcActivityState state = getActivityState(activity);
        state.readerCallback = callback;
        state.readerModeFlags = flags;
        state.readerModeExtras = extras;
        token = state.token;
        isResumed = state.resumed;
    }
    if (isResumed) {
        setReaderMode(token, flags, extras);
    }
}
 
源代码2 项目: android_9.0.0_r45   文件: NfcActivityManager.java
@Override
public void onTagDiscovered(Tag tag) throws RemoteException {
    NfcAdapter.ReaderCallback callback;
    synchronized (NfcActivityManager.this) {
        NfcActivityState state = findResumedActivityState();
        if (state == null) return;

        callback = state.readerCallback;
    }

    // Make callback without lock
    if (callback != null) {
        callback.onTagDiscovered(tag);
    }

}
 
源代码3 项目: nfcspy   文件: NfcManager.java
@SuppressLint("NewApi")
private void setReaderMode(boolean enable, int delay) {
	if (nfcAdapter == null || !hasHCE())
		return;

	if (!enable) {
		nfcAdapter.disableReaderMode(activity);
		return;
	}

	Bundle opts = new Bundle();
	opts.putInt(NfcAdapter.EXTRA_READER_PRESENCE_CHECK_DELAY, 5000);

	int flags = NfcAdapter.FLAG_READER_SKIP_NDEF_CHECK;
	flags |= NfcAdapter.FLAG_READER_NFC_A;

	// For the 'READ BINARY' problem of Braodcom's NFC stack.
	// Only works on Android 4.4+
	nfcAdapter.enableReaderMode(activity, new ReaderCallback() {

		@Override
		public void onTagDiscovered(Tag tag) {
			Intent i = new Intent().putExtra(EXTRA_TAG, tag);
			tagListener.onNewTagIntent(i);
		}
	}, flags, opts);
}