我正在使用 LIBGDX,并且经过一些努力,我一直在进步。但是我遇到了一些困难。在 LibGDX 中,我如何在 android 中使用 NFC?其次是USB?
其他度假村解决方案:
2.1。如果 LibGDX 不允许,有没有办法访问 Android SDK 的原生调用?
2.2。第三种解决方案是在 android sdk 中编写第二个应用程序(隐藏),但是否有可能拥有自己的 Intent/应用程序名称调用原因?所以通话只有一个可以打开的应用程序。
感谢这个伟大的社区
最佳答案
像这样在主项目中放置一些接口(interface)。
public interface NfcCommunicator {
public void initialize();
public void sendData(Object data);
public void setReceiveCallback(NfcReceiveCallback callback);
public void checkForReceivedData();
}
还有,
public class NfcReceiveCallback {
public void execute(Object receivedData) {
// Do whatever you want to do with the received data.
}
}
现在将上述接口(interface)的实现放到android项目中。
public class AndroidNfcCommunicator implements NfcCommunicator {
private NfcReceiveCallback myCallback;
private Activity myActivity;
public AndroidNfcCommunicator(Activity activity) {
this.myActivity = activity;
}
public void initialize() {
// NFC initialization code if any.
}
public void sendData(Object data) {
// Send data (you have access to android sdk here)
}
public void setReceiveCallback(NfcReceiveCallback callback) {
this.myCallback = callback;
}
public void checkForReceivedData() {
if (/* Data has been received (Use Activity object here. Since data comes from intent.)*/) {
this.myCallback.execute(/* Pass data here. */);
}
}
}
在android项目中创建上述类的对象并将其传递给ApplicationListener的构造函数。 在 render 方法中重复调用 checkForReceivedData 方法。
祝你好运。
关于java - Libgdx 和 Android NFC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20699383/