如何从Android应用程序调用外部程序?

时间:2011-09-04 08:25:56

标签: android obex

我找到了它:http://gitorious.org/android-obex/pages/Home

我想从我的Android应用程序中调用它,有人知道该怎么做吗?

2 个答案:

答案 0 :(得分:1)

您链接的页面上的命令行工具似乎是供开发人员手机上可用的根adb shell使用,并且可能没有使用给定消费者手机上实际可用的蓝牙堆栈版本。使用独立的可执行文件也不是“android方式”。通常,您应该将代码构建到库中以在应用程序的进程中通过jni调用,但是如果您需要在可能的设备上以root身份运行代码,那么它必须作为单独的进程运行(从你的app本身不能以root身份运行。)

如果要在root设备上使用此代码,请查找有关如何执行su命令以及将命令行程序的名称和参数传递到其中的许多Stack Overflow答案之一。这将是棘手的工作,不支持,并绝对不会在所有设备上工作。

如果你想做的事情,“android方式”看看编写或调整代码,以便它插入当前的Android蓝牙apis。这可能是java代码,但您可以检查是否有适当的本机API或通过jni使用本机代码中的java代码。

答案 1 :(得分:0)

阅读this

对您有用
  

应用程序的三个核心组件 - 活动,服务,   和广播接收器 - 通过消息激活,称为   意图。 Intent消息传递是一种用于延迟运行时绑定的工具   相同或不同应用程序中的组件之间。

使用Intent可以启动活动或服务,

  

传递给任何广播方法(例如Context.sendBroadcast(),Context.sendOrderedBroadcast()或Context.sendStickyBroadcast())的Intent对象将传递给所有感兴趣的广播接收器。许多种广播都源于系统代码。

因此,您需要的是确定Intents可以重新启动您想要启动的应用程序,以及发送特定的广播意图。如果安装了应用程序,它将被启动,否则不会发生任何事情。

希望它有所帮助。