日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android9怎样适配nfc,android – 如何使用NFC动作

發布時間:2025/1/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android9怎样适配nfc,android – 如何使用NFC动作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

我試圖以編程方式注冊接收器,以便在檢測到NFC標簽后收到通知.如我的代碼所示,我注冊了所需的操作,并以編程方式創建了廣播接收器.我還在清單文件中添加了所需的權限,但問題是從不調用onReceive.

請讓我知道我做錯了什么以及如何解決它.

IntentFilter intentFilter1 = new IntentFilter();

intentFilter1.addAction("android.nfc.action.TAG_DISCOVERED");

registerReceiver(mBCR_TAG_DISCOVERED, intentFilter1);

private BroadcastReceiver mBCR_TAG_DISCOVERED = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

String action = intent.getAction();

mTv.setText("mBCR_TAG_DISCOVERED");

}

};

AndroidManifest.xml中:

package="example.com.myapplication">

android:name="android.hardware.nfc"

android:required="true" />

android:allowBackup="true"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:supportsRtl="true"

android:theme="@style/AppTheme">

解決方法:

意圖android.nfc.action.TAG_DISCOVERED,就像所有NFC意圖一樣,是一種活動意圖,而不是廣播意圖.根本不可能為它注冊廣播接收器.您可以做的是注冊活動以接收NFC意圖.這可以通過清單,NFC前臺調度系統或Android 4.4通過NFC閱讀器模式API完成.

1.清單

根據標簽上的數據,您要么注冊NDEF_DISCOVERED意圖(如果標簽上有NDEF結構化數據),要么注冊TECH_DISCOVERED意圖(如果您只想監聽某些標簽技術而不管數據是什么)標簽).您通常不希望注冊TAG_DISCOVERED意圖過濾器,因為當通過AndroidManifest.xml使用時,這僅僅意味著作為回退機制(捕獲未被任何其他應用程序處理的事件).

例如.如果您的標記包含URL http://www.example.com/,則可以使用以下intent過濾器:

...

如果您的標記不包含任何特定數據且可能是任何標記技術,則可以使用以下intent過濾器:

...

android:resource="@xml/nfc_tech_filter" />

要使此intent過濾器起作用,您還需要在應用程序的res /目錄中使用XML資源xml / nfc_tech_filter.xml.如果技術過濾器應該只匹配任何標記,那么該文件將包含:

android.nfc.tech.NfcA

android.nfc.tech.NfcB

android.nfc.tech.NfcF

android.nfc.tech.NfcV

android.nfc.tech.NfcBarcode

注冊您的活動以接收這些事件后,您可以通過onCreate()(如果您的活動由NFC事件啟動)或通過onNewIntent()(如果您的活動在打開時收到后續NFC意圖)在您的活動中收到這些意圖):

@Override

public void onCreate(Bundle savedInstanceState) {

[...]

Intent startIntent = getIntent();

if ((startIntent != null) &&

(NfcAdapter.ACTION_NDEF_DISCOVERED.equals(startIntent.getAction()) ||

NfcAdapter.ACTION_TECH_DISCOVERED.equals(startIntent.getAction()))) {

// TODO: process intent

}

}

@Override

protected void onNewIntent(Intent intent) {

if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(intent.getAction()) ||

NfcAdapter.ACTION_TECH_DISCOVERED.equals(intent.getAction())) {

// TODO: process intent

}

}

2.前景調度系統

如果您只對在前臺可見活動時接收NFC發現意圖感興趣,最好使用NFC前臺調度系統,而不是通過清單注冊接收NFC事件.您可以通過在onResume()期間注冊您的活動來完成此操作:

@Override

public void onResume() {

super.onResume();

PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, new Intent(this, getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);

nfcAdapter.enableForegroundDispatch(this, pendingIntent, null, null);

}

您還必須確保在onPause()期間取消注冊:

@Override

public void onPause() {

super.onPause();

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);

nfcAdapter.disableForegroundDispatch(this);

}

然后,您將通過onNewIntent()以TAG_DISCOVERED意圖接收NFC事件:

@Override

public void onNewIntent(Intent intent) {

if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {

// TODO: process intent

}

}

3. Reader Mode API

如果您只對檢測NFC標簽感興趣,并且只有當您的活動在前臺可見且您只需要定位Android 4.4時,最好的方法可能是使用NFC閱讀器模式API.您可以通過在onStart()期間注冊您的活動來完成此操作:

@Override

public void onStart() {

super.onStart();

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);

nfcAdapter.enableReaderMode(this, new NfcAdapter.ReaderCallback() {

@Override

public void onTagDiscovered(Tag tag) {

// TODO: use NFC tag

}

}, NfcAdapter.FLAG_READER_NFC_A | NfcAdapter.FLAG_READER_NFC_B | NfcAdapter.FLAG_READER_NFC_F | NfcAdapter.FLAG_READER_NFC_V | NfcAdapter.FLAG_READER_NFC_BARCODE, null);

}

您還應確保在onStop()期間取消注冊:

@Override

public void onStop() {

super.onStop();

NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);

nfcAdapter.disableReaderMode(this);

}

您通過onTagDiscovered(Tag標記)回調方法接收已發現的標記句柄.

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的android9怎样适配nfc,android – 如何使用NFC动作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 善良的公与媳hd中文字 | 国产精品嫩草影院桃色 | 96国产在线 | 激情片网站 | 久草综合在线观看 | av一区二区三区在线 | 午夜污片| 国产乱妇无码大片在线观看 | 裸体喂奶一级裸片 | 国产精品视频一区二区三 | 黄色小毛片 | 亚洲精品乱码久久久久久蜜桃不卡 | 免费一级特黄毛大片 | 亚洲精品成人在线 | 麻豆精品国产传媒av绿帽社 | 国产又爽又黄免费视频 | 中文字幕av不卡 | 色男人天堂av | 日韩欧美一区二区三区在线观看 | 久久久精品国产 | 黄色三级在线 | 一区二区三区精品在线 | 精品国产污污免费网站入口 | 性欧美8khd高清极品 | 亚洲精品一区在线 | 青春草在线视频观看 | 中文字幕综合 | 一本久道在线 | 久草综合在线视频 | 久久免费在线观看 | 国产乱色精品成人免费视频 | 婷婷射丁香 | 超碰一区 | 精品国产一区在线观看 | a级片在线视频 | 性欧美videos高清hd4k | 国产麻豆天美果冻无码视频 | 韩国毛片视频 | av毛片一区 | 在线不卡中文字幕 | 影音先锋丝袜美腿 | 精品少妇白浆小泬60P | 超碰av男人的天堂 | 欧美另类videosbestsex | 久久精品成人一区二区三区蜜臀 | 丁香婷婷成人 | 色婷婷综合久久久久中文字幕 | 2021亚洲天堂| 日韩三级av| 青青青手机视频 | 黄色在线小视频 | www.色99| 亚洲精品第三页 | 国产精品igao| 亚洲性网 | 日韩精品久久久久久久酒店 | a在线观看视频 | 四虎综合网 | 日韩在线视 | 国产字幕av | 美女隐私免费观看 | 91免费看黄 | 麻豆国产在线视频 | 欧美三级小视频 | www.youjizz.com日本 | 色呦呦在线视频 | 成人三级在线播放 | 亚洲福利视频一区二区 | 国产视频精品一区二区三区 | 少妇中出视频 | 警察高h荡肉呻吟男男 | 欧美一级少妇 | 亚洲欧美国产一区二区三区 | 超碰不卡| 色婷婷综合久久久久中文字幕 | 亚洲无人区小视频 | 在线成人免费 | 五月天激情小说 | 久久精品天天中文字幕人妻 | 久久久久国产精品夜夜夜夜夜 | 午夜寂寞影院在线观看 | 久久久久无码国产精品 | 亚洲在线天堂 | 亚洲天堂免费看 | 中文日韩字幕 | 天天综合天天添夜夜添狠狠添 | 激情视频一区二区三区 | 男人的天堂中文字幕 | 九九热国产| 精品免费视频一区二区 | 黄色在线观看网站 | 男人爽女人下面动态图 | 在线观看免费观看在线 | 亲嘴扒胸摸屁股激烈网站 | 热99在线 | 国产乱妇乱子 | 天天操精品 | 日本一区二区免费电影 | 亚洲网站在线免费观看 |