NFC:S型光束和Android光束有什么区别?有人可以解释Wifi-Direct /蓝牙被激活和传输数据的确切流程吗?
我正在尝试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
我是NFC新手.我尝试连接到NFC并将文本数据从设备共享到另一台设备.
我在两台设备和一台设备上安装我的应用程序,打开我的应用程序,然后开始将设备点击到另一台设备,以便通过Beam传输数据.
在另一台设备上,由于Beam交互,我的应用程序打开.但是,活动是使用默认的MAIN意图操作启动的,而不是使用TAG_DISCOVERED(或类似的NFC意图)启动的.每次它做同样的事情.
此外,它没有调用该onNewIntent()方法.我试图打电话onNewIntent给onCreate,但在那种情况下,意图行动仍然是主要的.我希望能够获得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智能手机和PN532 USB芯片(elechouse),它具有点对点模式作为其功能之一.我试图将PN532模块的NDEF消息发送到智能手机,相反,它工作正常.
我想要的是,当PN532模块找到智能手机时,我的应用程序会自动启动.
我知道一个解决方案是使用MIME类型记录.
我的清单中有这个:
<data android:mimeType="application/vnd.test.com.openapp"/>
Run Code Online (Sandbox Code Playgroud)
在模块方面,我可以传输MIME,但我不知道这个MIME必须是什么形式.我试图传输字符串但没有任何反应.
那么如何在我的模块上创建MIME类型记录呢?有没有其他方式通过点对点通信启动我的应用程序?
之前我使用过ACR 122,它与Android <4.1手机完美配合.我用它来交换P2P SNEP消息......但是由于手机有4.1,当你把手机放在它上面时,读卡器会开始发出哔哔声并闪烁.有没有其他人发现这种不兼容性?有解决方案吗
我发现Android设备支持三种NFC模式:读写器,P2P和卡模拟.
我的应用程序可以检查当前启用的模式吗?
我正在寻找有关NFC数据的一些建议.
我有一台设备,比方说打印机或扬声器.我想在这个设备上放置一个NFC标签.我想要放入NFC标签的数据是DeviceName/MacAddress/Password.
现在要求是用户用Android或Windows手机触摸我的标签
到目前为止,我可以使用2个NDEF记录在Android中完成它
问题是如何在Windows Phone中启动应用程序?据我了解自定义Mime application/vnd.pakage.name无法启动Windows应用程序.PLS.如果我错了,请告诉我.
Windows LaunchApp记录应该是第一条记录,如果我将其作为第一条记录,那么在Android中我不会得到我的数据.
唯一可能的解决方案是以下格式的NDEF记录.
但是使用这种格式我也无法在Android中获取数据.PLS.让我知道是否有更好的解决方案?我如何在Android中获取数据?
谢谢
我正在尝试使用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手机之间实现P2P通信(其中一部将最终由独立设备取代).我已经看到Android 4支持由NFC论坛发布的SNEP,应该可以在非Android设备上使用.
我已经关注了用于NFC P2P的Google教程(http://developer.android.com/guide/topics/nfc/nfc.html#p2p),我可以从一部手机向另一部手机发送一些信息,但我有一些问题:
谢谢您的帮助 !!!
我正在与非接触式读卡器一起使用我的Android设备进行通信.
我观察到,任何时候我都无法使用P2P连接到我的Android设备.如果我想连接以启动Android Beam传输,我必须不断尝试在一秒钟内多次连接到设备.
NFC Android设备可以检测非接触式卡,NFC P2P目标和NFC P2P启动器,即3种不同模式.我开始认为幕后有一种轮询可以很快地在三种模式之间切换.
这意味着在我尝试连接到手机的任何给定时间点,它可能会或可能不会处于正确的模式并且将会失败.这就是我需要尝试多个连接的原因.
我一直在寻找Android源代码来试图找出这个并没有真正的运气.这是我见过的最有前途的文件,但它仍然没有意义.
我的问题是:Android如何检测多种NFC模式,它是否使用切换算法?如果是这样,算法的具体内容是什么?
谢谢.