标签: nfc-p2p

NFC:S型光束和Android光束有什么区别?

NFC:S型光束和Android光束有什么区别?有人可以解释Wifi-Direct /蓝牙被激活和传输数据的确切流程吗?

android nfc nfc-p2p

12
推荐指数
1
解决办法
3万
查看次数

如何在屏幕固定时通过NFC发送字符串?

我正在尝试String通过NFC发送,而我的应用程序正在使用屏幕固定.它不起作用:转移不会发生; 但如果我禁用屏幕固定工程的转移String.

我可以禁用屏幕固定一点,然后执行传输,但这是一个安全风险.

我怎样才能做到这一点?


如果您想尝试,这是所有代码.您需要做的就是通过应用程序设置手动启用屏幕固定(因此代码较少,但仍会产生相同的结果).我使用两个运行Android 5.0的Nexus 7测试了这个.

您不必阅读所有这些代码,如果您知道我可以添加到我的清单中的某些内容可以在屏幕固定时允许NFC,则可以解决此问题.


AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.androidnfc"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="19" />
    <uses-permission android:name="android.permission.NFC"/>

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.androidnfc.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <intent-filter>
                <action android:name="android.nfc.action.NDEF_DISCOVERED" />
                <category android:name="android.intent.category.DEFAULT" />
                <data android:mimeType="text/plain" />
            </intent-filter>
        </activity>
    </application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

MainActivity.java

public class MainActivity extends Activity implements CreateNdefMessageCallback, OnNdefPushCompleteCallback
{ 
   TextView textInfo;
   EditText textOut;  
   NfcAdapter nfcAdapter; …
Run Code Online (Sandbox Code Playgroud)

android nfc nfc-p2p android-5.0-lollipop android-screen-pinning

12
推荐指数
1
解决办法
722
查看次数

NFC标签检测不会调用onNewIntent并且它是从主活动启动的

我是NFC新手.我尝试连接到NFC并将文本数据从设备共享到另一台设备.

我在两台设备和一台设备上安装我的应用程序,打开我的应用程序,然后开始将设备点击到另一台设备,以便通过Beam传输数据.

在另一台设备上,由于Beam交互,我的应用程序打开.但是,活动是使用默认的MAIN意图操作启动的,而不是使用TAG_DISCOVERED(或类似的NFC意图)启动的.每次它做同样的事情.

此外,它没有调用该onNewIntent()方法.我试图打电话onNewIntentonCreate,但在那种情况下,意图行动仍然是主要的.我希望能够获得Beam交互的NFC意图.那么请你告诉我哪里出错了?

在这段代码中,我没有共享数据.我首先需要标签.

表现:

<activity android:name="com.framentos.hellonfc.MainActivity"
        android:clearTaskOnLaunch="true"
        android:label="@string/app_name"
        android:launchMode="singleTop"
        android:screenOrientation="portrait" >
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.TECH_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.nfc.action.TAG_DISCOVERED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <meta-data
            android:name="android.nfc.action.TECH_DISCOVERED"
            android:resource="@xml/nfc_tech_filter" />
</activity>
Run Code Online (Sandbox Code Playgroud)

Java代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    ctx = this;
    // startHandler();
    _handler = new Handler();
    Button btnWrite = (Button) findViewById(R.id.button);
    message …
Run Code Online (Sandbox Code Playgroud)

android nfc android-beam nfc-p2p android-applicationrecord

11
推荐指数
1
解决办法
7278
查看次数

Android Beam:使用MIME类型记录启动应用程序

我正在开发一个项目,我正在使用Android智能手机和PN532 USB芯片(elechouse),它具有点对点模式作为其功能之一.我试图将PN532模块的NDEF消息发送到智能手机,相反,它工作正常.

我想要的是,当PN532模块找到智能手机时,我的应用程序会自动启动.

我知道一个解决方案是使用MIME类型记录.

我的清单中有这个:

 <data android:mimeType="application/vnd.test.com.openapp"/>
Run Code Online (Sandbox Code Playgroud)

在模块方面,我可以传输MIME,但我不知道这个MIME必须是什么形式.我试图传输字符串但没有任何反应.

那么如何在我的模块上创建MIME类型记录呢?有没有其他方式通过点对点通信启动我的应用程序?

android nfc android-beam nfc-p2p

10
推荐指数
1
解决办法
735
查看次数

NFC读卡器ACR 122与Android 4.1 Jelly Beans不兼容?

之前我使用过ACR 122,它与Android <4.1手机完美配合.我用它来交换P2P SNEP消息......但是由于手机有4.1,当你把手机放在它上面时,读卡器会开始发出哔哔声并闪烁.有没有其他人发现这种不兼容性?有解决方案吗

android nfc nfc-p2p

9
推荐指数
1
解决办法
4682
查看次数

我的应用如何找出启用了哪种NFC模式?

我发现Android设备支持三种NFC模式:读写器,P2P卡模拟.

我的应用程序可以检查当前启用的模式吗?

android nfc android-beam nfc-p2p hce

9
推荐指数
1
解决办法
751
查看次数

编写NFC标签,使其适用于Android和Windows Phone8

我正在寻找有关NFC数据的一些建议.

我有一台设备,比方说打印机或扬声器.我想在这个设备上放置一个NFC标签.我想要放入NFC标签的数据是DeviceName/MacAddress/Password.

现在要求是用户用Android或Windows手机触摸我的标签

  1. 我的应用程序应该启动.
  2. 如果我的应用尚未安装,则应将我带到Play商店或Windows商店
  3. 我应该能够在我的应用程序中从NFC标签获取数据(DeviceName/MacAddress/Password)

到目前为止,我可以使用2个NDEF记录在Android中完成它

  1. 带有我的数据的自定义MIME类型记录(application/vnd.pakage.name)
  2. Android应用程序记录.

问题是如何在Windows Phone中启动应用程序?据我了解自定义Mime application/vnd.pakage.name无法启动Windows应用程序.PLS.如果我错了,请告诉我.

Windows LaunchApp记录应该是第一条记录,如果我将其作为第一条记录,那么在Android中我不会得到我的数据.

唯一可能的解决方案是以下格式的NDEF记录.

  1. 我的数据的自定义URI(myscheme://my.package.com?DeviceName/MacAddress/Password)
  2. Android应用程序记录.

但是使用这种格式我也无法在Android中获取数据.PLS.让我知道是否有更好的解决方案?我如何在Android中获取数据?

谢谢

windows android nfc windows-phone-8 nfc-p2p

8
推荐指数
1
解决办法
1178
查看次数

通过NFC将URL从Android发送到Windows Phone可获得Play商店链接

我正在尝试使用NFC将Android应用中的URL发送到WP8手机.

当发送到Android设备时,URL会正确发送.然而,当发送到WP8时,IE加载到Play商店的链接而不是我想发送的链接(例如" http://www.stackoverflow.com ").

Play商店链接为:" https://play.google.com/store/apps/details?id=com.example.conductrnfc&feature=beam ".其中" com.example.conductrnfc "是项目中的包名称.

我用于生成NFC消息的代码如下.我在这里做错了什么打破了与WP8的兼容性?

NfcAdapter nfc = NfcAdapter.getDefaultAdapter(this);
nfc.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() {
    @Override
    public NdefMessage createNdefMessage(NfcEvent event)
    {
        NdefRecord uriRecord = NdefRecord.createUri(urlString);
        return new NdefMessage(new NdefRecord[] { uriRecord });
    }
}, 
this);
Run Code Online (Sandbox Code Playgroud)

android nfc android-beam windows-phone-8 nfc-p2p

7
推荐指数
1
解决办法
780
查看次数

Android NFC:SNEP协议和P2P响应

我正在尝试在两部Android手机之间实现P2P通信(其​​中一部将最终由独立设备取代).我已经看到Android 4支持由NFC论坛发布的SNEP,应该可以在非Android设备上使用.

我已经关注了用于NFC P2P的Google教程(http://developer.android.com/guide/topics/nfc/nfc.html#p2p),我可以从一部手机向另一部手机发送一些信息,但我有一些问题:

  1. Android Beam只是NFC的名称,还是在SNEP/NPP上运行的Android协议?如果是协议,如何在没有Beam的情况下进行NFC P2P?
  2. 如何设置SNEP的使用?
  3. 初始化连接时如何向其他设备发送响应(收到第一条消息)?

谢谢您的帮助 !!!

android nfc nfc-p2p

6
推荐指数
1
解决办法
5861
查看次数

Android如何对NFC设备进行轮询

我正在与非接触式读卡器一起使用我的Android设备进行通信.

我观察到,任何时候我都无法使用P2P连接到我的Android设备.如果我想连接以启动Android Beam传输,我必须不断尝试在一秒钟内多次连接到设备.

NFC Android设备可以检测非接触式卡,NFC P2P目标和NFC P2P启动器,即3种不同模式.我开始认为幕后有一种轮询可以很快地在三种模式之间切换.

这意味着在我尝试连接到手机的任何给定时间点,它可能会或可能不会处于正确的模式并且将会失败.这就是我需要尝试多个连接的原因.

我一直在寻找Android源代码来试图找出这个并没有真正的运气.是我见过的最有前途的文件,但它仍然没有意义.

我的问题是:Android如何检测多种NFC模式,它是否使用切换算法?如果是这样,算法的具体内容是什么?

谢谢.

android nfc nfc-p2p

6
推荐指数
1
解决办法
2293
查看次数