Android 如何使用HTML5在Nexus上获取NFC标签id

Android 如何使用HTML5在Nexus上获取NFC标签id,android,html,nfc,Android,Html,Nfc,我正在构建一个读取NFC标记的HTML5应用程序。它在台式电脑上工作,我使用阅读器读取NFC标签。我想在Nexus上运行此应用程序并从Nexus读取NFC。。。。有人知道如何让Nexus读取NFC标记并将标记id放在文本框中吗?我们在中使用此方法。对于Android,您需要设置一个简单的应用程序来注册NFC意图,然后将其推送到一个变量。然后,您可以使用简单的javascript注入方法将数据获取到webview中。下面是一个示例,从一个HTML页面(index.HTML)开始: 我在编辑器中组装

我正在构建一个读取NFC标记的HTML5应用程序。它在台式电脑上工作,我使用阅读器读取NFC标签。我想在Nexus上运行此应用程序并从Nexus读取NFC。。。。有人知道如何让Nexus读取NFC标记并将标记id放在文本框中吗?

我们在中使用此方法。对于Android,您需要设置一个简单的应用程序来注册NFC意图,然后将其推送到一个变量。然后,您可以使用简单的javascript注入方法将数据获取到webview中。下面是一个示例,从一个HTML页面(index.HTML)开始:

我在编辑器中组装了最后一部分,但没有对其进行测试,因此可能会出现一些语法错误。总的来说,它应该给你一切你需要得到的东西工作。在iOS上执行此操作也可以使用。这有点复杂,但是

我们在中使用此方法。对于Android,您需要设置一个简单的应用程序来注册NFC意图,然后将其推送到一个变量。然后,您可以使用简单的javascript注入方法将数据获取到webview中。下面是一个示例,从一个HTML页面(index.HTML)开始:

我在编辑器中组装了最后一部分,但没有对其进行测试,因此可能会出现一些语法错误。总的来说,它应该给你一切你需要得到的东西工作。在iOS上执行此操作也可以使用。这有点复杂,但是

我们在中使用此方法。对于Android,您需要设置一个简单的应用程序来注册NFC意图,然后将其推送到一个变量。然后,您可以使用简单的javascript注入方法将数据获取到webview中。下面是一个示例,从一个HTML页面(index.HTML)开始:

我在编辑器中组装了最后一部分,但没有对其进行测试,因此可能会出现一些语法错误。总的来说,它应该给你一切你需要得到的东西工作。在iOS上执行此操作也可以使用。这有点复杂,但是

我们在中使用此方法。对于Android,您需要设置一个简单的应用程序来注册NFC意图,然后将其推送到一个变量。然后,您可以使用简单的javascript注入方法将数据获取到webview中。下面是一个示例,从一个HTML页面(index.HTML)开始:

我在编辑器中组装了最后一部分,但没有对其进行测试,因此可能会出现一些语法错误。总的来说,它应该给你一切你需要得到的东西工作。在iOS上执行此操作也可以使用。这有点复杂,但是

<!doctype html>
<html>
<head>
    </head>
    <body>
        <center>
            <input class="input-text" name="UUID" id="UUID" value="empty">
        </center>
    </body>
</html>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:layout_gravity="center"
    android:orientation="vertical">

    <WebView 
       android:layout_width="match_parent"
       android:layout_height="wrap_content"
        android:layout_weight=".5"
       android:id="@+id/webview" ></WebView>

</LinearLayout>
package com.authorwjf.javascriptinjection;

import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.EditText;
import android.annotation.SuppressLint;
import android.app.Activity;

public class MainActivity extends Activity implements OnClickListener {

    private static final String URL = "file:///android_asset/index.html";
    private static final String tagUUID = "empty";
    private WebView mWebView;

    @SuppressLint("SetJavaScriptEnabled")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mWebView = (WebView) findViewById(R.id.webview); 
        mWebView.getSettings().setJavaScriptEnabled(true);
        mWebView.setWebChromeClient(new WebChromeClient());
        mWebView.setWebViewClient(new WebViewClient(){
            @Override
            public void onPageFinished(WebView view, String url) {
                String javascript="javascript: document.getElementById('UUID').value="+tagUUID+";";
                view.loadUrl(javascript);
            }
        });

        IntentFilter mFilter = new IntentFilter(ACTION_TAG_DISCOVERED);
        BroadcastReceiver mScanReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String s = intent.getAction();
                if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(s)) {
                    Tag tag = (Tag) intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
                    byte[] tagIDBytes = tag.getId();
                    String tagId = bytesToHexString(tagIDBytes);
                    MainActivity.this.PostToWebview(tagId);
                }
            }
        };

        registerReceiver(mScanReceiver, mFilter);
        refreshWebView();
    }

    public void PostToWebview(final String tagId) {
        tagUUID = tagId;
        refreshWebView();
    }

    private void refreshWebView() {
        mWebView.loadUrl(URL);
    }
}