- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
最终,我需要在 Android 设备和具有使用 libfc 的 NFC 适配器的 Linux 主机之间实现加密协议(protocol)。
我以前从未在 Android 上使用过 NFC。目前我的想法是在被动变体的对等模式下使用 NFC,例如linux 主机上的智能卡读卡器扮演发起者的角色并提供 HF 场,而智能手机是目标。
据我所知,回调 createNdefMessage
可用于响应 NFC 请求并发回回复消息。但是,我不明白如何在我的Android程序中获取请求消息。
目前——作为玩具示例——我尝试实现以下目标:linux 主机通过 NFC 发送一个随机数,android 设备抽取一个随机数并回复总和。
我有
package edu.kit.iti.crypto.nfctest1;
import android.app.Activity;
import android.content.Intent;
import android.nfc.*;
import android.os.Bundle;
import android.provider.Settings;
import java.nio.ByteBuffer;
public class MainActivity extends Activity implements NfcAdapter.CreateNdefMessageCallback {
protected NfcAdapter nfcAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate( savedInstanceState );
setContentView( R.layout.activity_main );
nfcAdapter = NfcAdapter.getDefaultAdapter( getApplicationContext() );
nfcAdapter.setNdefPushMessageCallback( this, this );
}
protected void onResume() {
super.onResume();
if( !nfcAdapter.isEnabled() ) {
startActivity( new Intent( Settings.ACTION_NFC_SETTINGS) );
} else if( !nfcAdapter.isNdefPushEnabled() ) {
startActivity( new Intent( Settings.ACTION_NFCSHARING_SETTINGS) );
}
}
public NdefMessage createNdefMessage( NfcEvent event ) {
int randomNumber = 42;
// How to obtain the request message here?
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.putInt( randomNumber );
NdefRecord replyRecord = NdefRecord.createExternal( "edu.kit.iti.crypto.nfctest1", "app-randomness", buffer.array() );
return new NdefMessage( replyRecord );
}
}
我最基本的问题是底部方法中的注释:How do I get the request message?
最佳答案
根本没有请求消息。 Android Beam(这是在 Android 上使用 NFC 点对点模式的唯一方法)基于 SNEP(over LLCP)。调用方法 createNdefMessage()
来构建由您设备上的 SNEP 客户端提供的 NDEF 消息。将两个设备放在一起(并在点击 Beam UI 之后),Android 会尝试在另一台设备上找到 SNEP 服务器并将 NDEF 消息推送到其收件箱。
因此,在 Android Beam 中发挥作用的唯一“请求”是您的设备用于发送消息的 PUT 请求。该过程由 NFC 发现启动,并且没有从另一方收到特定请求。
关于android - Android 和 Linux 之间的 NFC P2P 通信入门 (libnfc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47597882/
Hive —— 入门 Hive介绍 Apache Hive是一款建立在Hadoop之上的开源数据仓库系统,可以将存储在Hadoop文件中的结构化、半结构化数据文件映射为一张数据库表,基于表提供了一
HBase —— 入门 HBase介绍 HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”
零:前端目前形势 前端的发展史 HTML(5)、CSS(3)、JavaScript(ES5、ES6):编写一个个的页面 -> 给后端(PHP、Python、Go、Java) ->
在本教程中,您将了解在计算机上运行 JavaScript 的不同方法。 JavaScript 是一种流行的编程语言,具有广泛的应用程序。 JavaScript 以前主要用于使网页具有交
我曾经是一个对编程一窍不通的小白,但因为对互联网世界的好奇心和求知欲的驱使,我踏入了编程的殿堂。在学习的过程中,我发现了一门神奇的编程语言——Python。Python有着简洁、易读的语法,让初学者能
嗨,亲爱的读者们! 今天我要给大家分享一些关于Python爬虫的小案例。你是否曾为了获取特定网页上的数据而烦恼过?或者是否好奇如何从网页中提取信息以供自己使用?那么,这篇文章将会给你一些启示和灵感。
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 8 年前。 Improv
我想创建一个像https://apprtc.appspot.com/?r=04188292这样的应用程序。我对 webrtc 了解一点,但无法掌握 google app-engine。如何为 java
我刚刚开始使用 Python 并编写了一个简单的周边程序。但是,每当我在终端中键入 python perimeter.py 时,都会收到以下错误,我不知道如何解决。 >>> python perime
Redis有5个基本数据结构,string、list、hash、set和zset。它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了
创建发布web项目 具体步骤: 1.在开发工具中创建一个dynamic web project helloword 2.在webContent中创建index.html文件 3.发布web应用到
如果你在 Ubuntu 上使用终端的时间很长,你可能会希望调整终端的字体和大小以获取一种良好的体验。 更改字体是一种最简单但最直观的 Linux 的终端自定义 的方法。让我
1. 前言 ADODB 是 Active Data Objects Data Base 的简称,它是一种 PHP 存取数据库的函式组件。现在 SFS3 系统 (校园自由软件交流网学务系统) 计划的
我对 neo4j 完全陌生,我很抱歉提出这样一个基本问题。我已经安装了neo4j,我正在使用shell“localhost:7474/webadmin/#/console/” 我正在寻找一个很好的例子
我正在阅读 ios 4 的核心音频,目的是构建一个小测试应用程序。 在这一点上,我对所有 api 的研究感到非常困惑。理想情况下,我想知道如何从两个 mp3 中提取一些样本到数组中。 然后在回调循环中
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是无关紧要的,因
我下载了 GNUStep并安装了它,但是我不确定在哪里可以找到 IDE。有谁知道什么程序可以用作 GNUStep IDE/从哪里获取它们?否则,有没有人知道有关如何创建和编译基本 GNUStep 程序
我正在尝试开始使用 Apache Solr,但有些事情我不清楚。通读tutorial ,我已经设置了一个正在运行的 Solr 实例。我感到困惑的是 Solr 的所有配置(架构等)都是 XML 格式的。
请问有没有关于如何开始使用 BruTile 的文档? 我目前正在使用 SharpMap,我需要预缓存切片以加快进程 最佳答案 我今天正在研究这个:)Mapsui项目site严重依赖 SharpMap
尽我所能,我无法让 CEDET 做任何事情。 Emacs 24.3。我下载了最新的 CEDET 快照。我从他的底部(不是这样)Gentle Introduction 中获取了 Alex Ott 的设置
我是一名优秀的程序员,十分优秀!