Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在我们的应用程序中使用NFC,以及如何知道设备支持NFC?_Android_Nfc - Fatal编程技术网

Android 如何在我们的应用程序中使用NFC,以及如何知道设备支持NFC?

Android 如何在我们的应用程序中使用NFC,以及如何知道设备支持NFC?,android,nfc,Android,Nfc,我已经浏览了一些与NFC相关的话题。但我没有找到一个清晰简单的方法来使用它或使用NFC 另一个问题是我们如何识别设备是否支持NFC, 有代码吗 它与蓝牙有什么不同 所有建议将不胜感激。要检查设备是否支持NFC: NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE); NfcAdapter adapter = manager.getDefaultAdapter(); if (adapter !

我已经浏览了一些与NFC相关的话题。但我没有找到一个清晰简单的方法来使用它或使用NFC

另一个问题是我们如何识别设备是否支持NFC, 有代码吗

它与蓝牙有什么不同


所有建议将不胜感激。

要检查设备是否支持NFC:

NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {

    //Yes NFC available 
}else{

   //Your device doesn't support NFC
}

以下是NFC的全部内容:

检查设备是否支持NFC:

NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {

    //Yes NFC available 
}else{

   //Your device doesn't support NFC
}

以下是NFC的全部功能:

如果您有根设备,您可以轻松切换NFC模式:

public static boolean powerNfc(boolean isOn, Context context) {
        boolean success = false;
        NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(context);

        if (nfcAdapter != null) {
            Class<?> NfcManagerClass;
            Method setNfcEnabled;
            try {
                NfcManagerClass = Class.forName(nfcAdapter.getClass().getName());
                setNfcEnabled = NfcManagerClass.getDeclaredMethod(isOn ? "enable" : "disable");
                setNfcEnabled.setAccessible(true);
                success = (Boolean) setNfcEnabled.invoke(nfcAdapter);
            } catch (ClassNotFoundException e) {
            } catch (NoSuchMethodException e) {
            } catch (IllegalArgumentException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
        }
        return success;
    }
public静态布尔powerNfc(booleanison,Context){
布尔成功=假;
NfcAdapter NfcAdapter=NfcAdapter.getDefaultAdapter(上下文);
如果(nfcAdapter!=null){
NfcManagerClass类;
方法设置为可启用;
试一试{
NfcManagerClass=Class.forName(nfcAdapter.getClass().getName());
setNfcEnabled=NfcManagerClass.getDeclaredMethod(启用):“禁用”);
setNfcEnabled.setAccessible(true);
success=(布尔)setNfcEnabled.invoke(nfcAdapter);
}catch(classnotfounde异常){
}捕获(无此方法例外){
}捕获(IllegalArgumentException e){
}捕获(非法访问例外e){
}捕获(调用TargetException e){
}
}
回归成功;
}
您还需要添加权限写入安全设置


它已经过测试。

如果您有根设备,您可以轻松切换NFC模式:

public static boolean powerNfc(boolean isOn, Context context) {
        boolean success = false;
        NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(context);

        if (nfcAdapter != null) {
            Class<?> NfcManagerClass;
            Method setNfcEnabled;
            try {
                NfcManagerClass = Class.forName(nfcAdapter.getClass().getName());
                setNfcEnabled = NfcManagerClass.getDeclaredMethod(isOn ? "enable" : "disable");
                setNfcEnabled.setAccessible(true);
                success = (Boolean) setNfcEnabled.invoke(nfcAdapter);
            } catch (ClassNotFoundException e) {
            } catch (NoSuchMethodException e) {
            } catch (IllegalArgumentException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
        }
        return success;
    }
public静态布尔powerNfc(booleanison,Context){
布尔成功=假;
NfcAdapter NfcAdapter=NfcAdapter.getDefaultAdapter(上下文);
如果(nfcAdapter!=null){
NfcManagerClass类;
方法设置为可启用;
试一试{
NfcManagerClass=Class.forName(nfcAdapter.getClass().getName());
setNfcEnabled=NfcManagerClass.getDeclaredMethod(启用):“禁用”);
setNfcEnabled.setAccessible(true);
success=(布尔)setNfcEnabled.invoke(nfcAdapter);
}catch(classnotfounde异常){
}捕获(无此方法例外){
}捕获(IllegalArgumentException e){
}捕获(非法访问例外e){
}捕获(调用TargetException e){
}
}
回归成功;
}
您还需要添加权限写入安全设置


它已经过测试。

谢谢,我也通过了那个链接。但是你能详细说明一下吗?试试这个链接,这里有更多的代码:):谢谢,我也浏览了那个链接。但请您详细说明一下。请尝试使用此链接,这里有更多代码供您使用:):