标签: android-beam

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设备和另一个NFC设备之间使用Android Beam?

我想在我的Android应用和支持NFC的自助服务终端之间实现NFC通信.我已经阅读了文档,我理解推送数据可以通过两种方式完成:

  • 通过前台NDEF推动API级别10到13
  • 来自API级别14的Android Beam

我想我可以通过第一个解决方案做我想做的事情,但我想知道是否可以在Android设备和非Android设备之间使用Android Beam?

谢谢你的帮助,

罗曼

android nfc android-beam

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

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
查看次数

enableReaderMode和enableForegroundDispatch有什么区别?

我找到了两种让Android应用检测和处理NFC标签的方法:

  1. NfcAdapter.enableReaderMode(activity, callback, flags, extras) 然后在回调中接收标记信息.

  2. NfcAdapter.enableForegroundDispatch(activity, intent, filters, techLists)然后在onNewIntent(intent)activity方法中接收标记信息.

我目前使用的是第二种方法,但是,我最近发现了这种enableReaderMode方法,并想知道用它来处理NFC标签是否更好.

那么enableReaderMode和之间的区别是什么enableForegroundDispatch

tags android nfc android-beam hce

10
推荐指数
2
解决办法
5064
查看次数

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

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

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

android nfc android-beam nfc-p2p hce

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

使用Nexus 5在Android(4.4/KitKat及更高版本)上进行主机卡仿真

我试图根据本文档使用我的Nexus 5模拟NFC标签,但我的服务永远不会被调用.我应该关闭Android光束吗?

我想模拟一个包含网址的简单标记.

读者是Nexus 7(2012),我已经发现这个过程就像在Nexus 7上使用Android光束简单扫描NFC标签一样.

另外我对辅助过滤器名称有点困惑.有他们的清单吗?

我确定我不明白.谢谢

android apdu nfc android-beam hce

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

Android Beam LLCP协议

我正在尝试与我的Galaxy S III和具有PN532 NFC芯片的微控制器进行通信.

由于这是一个微控制器,我没有默认的LLCP库,所以我必须自己理解Android协议.

任何人都可以为我澄清一下,当我第一次将手机放到设备上时,从第一步开始会有什么数据包?假设我正确解析,我看到:

DSAP: 3F
PTYPE: 0
SSAP: 0
Run Code Online (Sandbox Code Playgroud)

并且

DSAP: 1E
PTYPE: C
SSAP: 0
Run Code Online (Sandbox Code Playgroud)

这是沿着正确的方向吗?Android尝试做什么?我原本期望在信息包之前进行连接尝试?

非常感谢任何澄清.

android nfc android-beam

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

通过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(Android Beam)接收文件

根据Android开发者网站上的教程,我能够使用NFC发送文件.但是我无法处理接收器部分.

我按照http://developer.android.com/training/beam-files/receive-files.html进行接收,我收到了关于接收器上Beam文件传输成功的通知.当用户点击此通知时,我希望应该启动我的应用.

我的接收活动有以下意图过滤器:

<intent-filter>
 <action android:name="android.intent.action.VIEW"/>
 <category android:name="android.intent.category.DEFAULT"/>
 <data android:mimeType="image/*" />
 <data android:mimeType="video/*" />
 <data android:scheme="file" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

但即使文件传输完成,我的接收活动也永远不会被调用.如何在我的应用程序中收到该文件?

android nfc intentfilter android-beam nfc-p2p

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

触摸光束,发送NFC(ICS)的唯一方法?

我知道你在这里回答了关于ICS的类似问题:https://stackoverflow.com/a/8320504

但是我仍然想知道一些事情,因为我正在研究我的硕士论文,因此我需要这个功能:

  1. 它仍然是真的,没有可能在没有点击屏幕的情况下从应用程序中发送NFC吗?(如"如何通过NFC"中的StickyNotes示例所示)

  2. NFC的这一重大特性将来会再次出现吗?

  3. 是的,通过在设置中禁用AndroidBeam,NFC-send-feature也完全禁用.你只能接收NFC吗?

先感谢您.顺便说一句:我使用的是Android ICS 4.0.1

android nfc android-beam

5
推荐指数
1
解决办法
3035
查看次数