Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同一设备上android应用程序之间的通信_Android_Android Intent_Aidl - Fatal编程技术网

同一设备上android应用程序之间的通信

同一设备上android应用程序之间的通信,android,android-intent,aidl,Android,Android Intent,Aidl,我正在开发一个应用程序,它根据从互联网上获取的数据进行特定的计算,让我们称这些计算为“最终数据”。同一设备上的其他应用程序(第三方应用程序)的最终数据必须可用(读写)。 因此,计划是创建一个Android库/模块并分发它。 一旦第三方应用程序开发人员将此库添加到他的应用程序中,他的应用程序必须能够读取/写入我的应用程序保存的“最终数据”(如果安装了我的应用程序),并在我的应用程序上执行某些方法(recreactestuff()) 我遇到了一堵墙,决定什么是实现上述库的最佳方式,以下是我尝试/研究

我正在开发一个应用程序,它根据从互联网上获取的数据进行特定的计算,让我们称这些计算为“最终数据”。同一设备上的其他应用程序(第三方应用程序)的最终数据必须可用(读写)。 因此,计划是创建一个Android库/模块并分发它。 一旦第三方应用程序开发人员将此库添加到他的应用程序中,他的应用程序必须能够读取/写入我的应用程序保存的“最终数据”(如果安装了我的应用程序),并在我的应用程序上执行某些方法(
recreactestuff()

我遇到了一堵墙,决定什么是实现上述库的最佳方式,以下是我尝试/研究过的选项:

  • 艾德尔
  • 绑定服务
  • 意图
  • 自定义本地tcp服务器/客户端或http服务器/客户端
  • 重要的一点是,我希望能够知道哪一个第三方应用程序正在尝试修改某个值(因为用户将能够允许/阻止特定应用程序读取/写入最终数据),对于这一点,解决方案3和4将不合适(请纠正我的错误,因为我经常出错),并且我无法找到验证该值的方法1和2中的“请求程序包名称”

    还有人提到AIDL不能在使用不同密钥签名的应用程序之间工作,这是真的吗(在Android开发者文档中找不到任何东西,而且还没有测试)

    我的问题是:有没有其他更好的方法(沟通和识别)?如果有,哪种方法?如果没有,考虑的4种解决方案中哪一种最适合?
    感谢您

    要与其他应用程序通信,您可以使用共享的首选项。请参阅
    解决方案3和4将不合适
    ,因为您可以让它们先登录。您可以向应用程序添加内容提供商来服务您的数据。@blackapps我不确定3如何合适。但是对于4,任何了解该协议的人都可以欺骗主应用程序,使其相信请求来自另一个应用程序(例如,胭脂应用程序发送删除所有请求,并在这样做时标识为“好应用程序”)@daniel.jbatiz谢谢您的评论,共享首选项现在将允许第三方应用程序执行某些功能。忘了提及这一点