【发布时间】:2011-11-10 00:24:27
【问题描述】:
我找到了:http://gitorious.org/android-obex/pages/Home
我想从我的 Android 应用中调用它,有人知道怎么做吗?
【问题讨论】:
我找到了:http://gitorious.org/android-obex/pages/Home
我想从我的 Android 应用中调用它,有人知道怎么做吗?
【问题讨论】:
您链接的页面上的命令行工具似乎旨在从开发人员手机上可用的根 adb shell 中使用,并且可能未使用给定消费类手机上实际可用的蓝牙堆栈版本。使用独立的可执行文件也不是“android 方式”。通常,您应该将代码构建到库中以在应用程序进程中通过 jni 调用,但如果您需要在可能的设备上以 root 身份运行代码,则必须将其作为单独的进程运行(因为你的应用程序本身不能以 root 身份运行)。
如果您想在有根设备上使用此代码,请查找有关如何执行 su 命令并将命令行程序的名称和参数输入其中的众多 Stack Overflow 答案之一。这将很难工作,不受支持,并且绝对不会在所有设备上工作。
如果您想以“android 方式”做事,请考虑编写或修改代码,以便插入当前的 android 蓝牙 api。这很可能是 java 代码,不过您可以检查是否有适当的本机 API 或通过 jni 使用本机代码中的 Java。
【讨论】:
阅读this对你很有用:
应用程序的三个核心组件——活动、服务、 和广播接收器——通过消息激活,称为 意图。意图消息传递是一种用于后期运行时绑定的工具 相同或不同应用程序中的组件之间。
使用 Intent 可以启动活动或服务,并且
传递给任何广播方法(例如 Context.sendBroadcast()、Context.sendOrderedBroadcast() 或 Context.sendStickyBroadcast())的 Intent 对象被传递给所有感兴趣的广播接收器。多种广播源自系统代码。
因此,您需要做的就是确定哪些 Intent 可以接收您想要启动的应用程序,并发送特定的广播意图。如果安装了应用程序,它将被启动,否则什么都不会发生。
希望对你有帮助。
【讨论】: