我有一个NFC设备(SCL3711)和谷歌Nexus S手机.我写了一个应用程序,它将数据从手机发送到NFC设备,反之亦然.在Android 2.3.3上一切都运行良好.现在我将我的Nexus S操作系统更新为4.0.3冰淇淋三明治,一切都停止了.现在我无法将数据从手机发送到NFC设备,反之亦然.我可以理解的主要原因是我无法连接到设备,但为什么我无法理解.
请帮助我,提供一些链接或信息来考虑这个问题.一切都对我有所帮助.
01-25 13:12:42.629: DEBUG/NFC JNI(23320): Discovered P2P Initiator
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 46
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 66
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 6d
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 01
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 01
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 10
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 02
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 02
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 00
01-25 13:12:42.629: DEBUG/NFC JNI(23320): 00
01-25 13:12:42.633: DEBUG/NFC JNI(23320): 03
01-25 13:12:42.633: DEBUG/NFC JNI(23320): …Run Code Online (Sandbox Code Playgroud) 我想在Android中创建一个像应用程序一样的谷歌钱包.据说"所有支付凭证都存储在称为手机中包含的安全元素的芯片中".如何访问此安全元素并将我的卡凭据存储到其中.我的目的是在收银台而不是我的卡上使用我的手机(Nexus).
所以我想要的是将一些数据存储到安全元件芯片并在我点击NFC读卡器时访问数据.
提前致谢.
这是我的代码show a PopupWindow
View rootView = activity.getWindow().getDecorView().getRootView();
mPopupWindow.showAtLocation(rootView, Gravity.NO_GRAVITY, 0, 0);
Run Code Online (Sandbox Code Playgroud)
当我测试它时Samsung,Nexus它显示在状态栏下面的设备
但是当我在Sony设备上测试时它显示在状态栏上方(如下图所示)
那么哪个设备显示正确或我做错了什么?任何帮助或建议将非常感谢
在Nexus One上运行的OpenGL代码在Nexus S上无法正常工作.纹理似乎不会渲染,而我只剩下纹理所在的黑色.
有人有任何想法吗?
我能够以编程方式断开呼叫,以便在Android 2.2中调用未知号码.但在android 4.1中,它不起作用.
工作代码断开Android 2.2中的调用:
private Class c;
private Method m;
private com.android.internal.telephony.ITelephony telephonyService;
public void onReceive(Context context, Intent intent)
{
Bundle b = intent.getExtras();
String state = b.getString(TelephonyManager.EXTRA_STATE);
if(state.equalsIgnoreCase(TelephonyManager.EXTRA_STATE_RINGING))
{
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
c = Class.forName(tm.getClass().getName());
m = c.getDeclaredMethod("getITelephony");
m.setAccessible(true);
telephonyService = (ITelephony) m.invoke(tm);
telephonyService.silenceRinger();
telephonyService.endCall();
}
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我.谢谢
最后我得到了2.6版本的解决方案.
MODIFY_PHONE_STATE自2.3+以来,权限不再适用于silenceRinger(),但endCall也没问题.因此解决方案是注释掉对silenceRinger()的调用.
有没有人知道是否有任何关于将信息写入RFID标签并从Android,Nexus S读取信息的细节?
是否有适用于Android的特殊RFID标签或特殊的RFID写入器?
我设计的Android应用程序,以及我们所定位的主要设备的Nexus S和Galaxy Tab的,所以我不知道它的分辨率我应该设计并使用什么PPI?我会用Photoshop.
出人意料的是,我无法找到Android的一个体面的PSD模板,同时还有吨适用于iOS,也许我只是不看正确的地方?
非常感谢
我注意到android.media.AudioRecord使用错误时无法正常工作sampleRateInHz
您还可以使用Samsung Nexus S(Google)上的pcmrecorder轻松复制该问题:
https://market.android.com/details?id=com.kohei.android.pcmrecorder
http://ko-yasui.com/home/pcmrecorder/
因此,当硬件音频芯片支持高达96KHz时,它无法以48Khz记录:
http://www.wolfsonmicro.com/products/audio_hubs/WM8994/
这是设备/固件错误还是已知限制?
请注意,android平台只能确保大约44100Hz(甚至不是24KHz)
http://developer.android.com/reference/android/media/AudioRecord.html
sampleRateInHz:采样率以赫兹表示.44100Hz是目前唯一保证在所有设备上工作的速率,但其他速率如22050,16000和11025可能适用于某些设备.
您将找到一个示例代码来重现这些问题:
https://github.com/rzr/rzr-android-test/blob/api-android-media/src/fr/online/rzr/test/
如何克服这个限制?
可以使用任何其他API吗?opensl,alsa,openal?如何 ?
alsa驱动程序可以从用户端重新配置,以便能够在44100Hz以上采样?(.asoundrc)
是否可以在不重新刷新/生根/重启设备的情况下执行此类操作
否则如何解决这个问题?使用本机代码有效地进行上采样(插值)?
我正在用Java编写一个应用程序,它将命令发送到智能卡并通过NFC接口解析响应.此应用程序可以在Android和PC上使用.
通过PC使用USB非接触式读卡器,我可以毫不费力地连接并与我扔的任何卡通信.
Android是另一回事.通过Nexus S使用应用程序会产生不太理想的结果,具体取决于卡.
有些卡将以100%的成功率连接和通信.我尝试使用的大多数卡片甚至很难建立连接,更不用说与之通信了.
Nexus S上的NFC服务正在尝试连接卡.它产生连续的低脉冲声,表明它无法建立牢固的连接(据我所知).
我目前的思维过程是Nexus S的NFC芯片功耗低于我正在使用的USB PC阅读器.从我读过的其他文章来看,似乎不同的卡具有不同的功率要求才能使用它们.
如何确定为卡供电所需的功率级别?它隐藏在ATR的某个地方吗?
如何确定特定NFC芯片的功率水平?这是在某处记录的吗?
我有一个课程,它创建了对NFC和两个活动的连接.它们都创建了该类的对象,因此可以连接到NFC.早些时候它以某种方式工作但现在我遇到了问题 - 我的应用程序在NewIntent上没有做任何事情,即使在第一个活动上也是如此.而不是它,我可以从内置应用程序"标签"(Nexus S)中看到"收集新标签".
我该怎么办?
类:
public NFCForegroundUtil(Activity activity)
{
super();
this.activity = activity;
mAdapter = NfcAdapter.getDefaultAdapter(activity
.getApplicationContext());
mPendingIntent = PendingIntent.getActivity(activity, 0, new Intent(
activity, activity.getClass())
.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP), 0);
IntentFilter ndef = new IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);
IntentFilter ndef2 = new IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);
IntentFilter ndef3 = new IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);
try
{
ndef2.addDataType("*/*");
}
catch (MalformedMimeTypeException e)
{
throw new RuntimeException("fail", e);
}
mFilters = new IntentFilter[] {ndef, ndef2, ndef3 };
mTechLists = new String[][] { new String[] {
// android.nfc.tech.NfcV.class.getName(),
android.nfc.tech.NfcA.class.getName(),
android.nfc.tech.IsoDep.class.getName() } };
mAdapter.enableForegroundDispatch(this, mPendingIntent, …Run Code Online (Sandbox Code Playgroud) android ×10
nexus-s ×10
nfc ×5
java ×3
alsa ×1
android-4.0-ice-cream-sandwich ×1
audiorecord ×1
opengl-es ×1
popupwindow ×1
ppi ×1
resolution ×1
rfid ×1
sample-rate ×1
sony ×1
tags ×1