我在一个直接安装在Android系统中的库上工作,并由AudioFlinger(android系统mediaserver)执行,并使用AOSP构建C ++,不使用JNI / NDK构建。我需要在经典的Java应用程序中从这个库中获取一个事件。
是否可以从我的库中发送系统意图?
我已经测试了am broadcast -a com.myIntent
,它在命令行中运行,但不在我的库中。
UPDATE:这是一个权限问题,因为激活许可模式允许我的java应用程序捕获意图。比照 Sending an intent from c++ to java in Android 5.0.1_r1
答案 0 :(得分:0)
如果您声明它在许可模式下工作,则表示您拥有root设备并继续tf.case
。意味着您有SELinux问题,制造商不允许在您的库中执行此操作。即使您修改了该设备中的SELinux策略,您很可能在市场上的许多其他Android设备中遇到同样的问题。
修改强>
如果这符合您的需求,您可以在代码中启动该命令。关于其他问题,请关注how to run adb shell commands from android code?。