android - 让两个应用程序使用相同的签名相互通信

标签 android security android-permissions

我的 App A 定义了一个保护级别为签名的权限。这个应用程序启动了一个属于应用程序B的服务。它重复调用startService(intent)(只定义了intent类名来调用该服务)。

我需要确保只有应用程序 B 接收到 onStartCommand() 而不是其他流氓应用程序(如果有人试图进行逆向工程并创建具有相同名称的服务等)。即使在 App B 的 list 中,我是否也定义了相同的权限?

<permission
    android:name="my.android.permissions.MY_PERM"
    android:protectionLevel="signature" />

<uses-permission android:name="my.android.permissions.MY_PERM" />

此权限已在 App A 的 list 中定义。

最佳答案

将这些行放入应用程序 B 的 list 中

<permission
    android:protectionLevel="signature"
    android:name="my.android.permissions.MY_PERM"/>

<uses-permission android:name="my.android.permissions.MY_PERM" />

<!-- define an activity which can only be started through internal code -->
<service android:name="..."
          android:permission="my.android.permissions.MY_PERM" >
    ...
</service>

<uses-permission android:name="my.android.permissions.MY_PERM" />

进入应用程序 A 的 list

关于android - 让两个应用程序使用相同的签名相互通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22213813/

相关文章:

sql-server-2008 - 远程访问sql server的安全风险?

java - 相机在未经相机许可的情况下工作

android - 如何在 Android XML 布局文件中放置按钮,就像在 GridView 中一样

Android - Facebook - Parse.com - 应用程序在登录期间随机关闭

android - 通过复选框激活android中的停用音乐

android - 存储 Firestore 数据模型的最佳实践

android - 错误 : Only the original thread that created a view hierarchy can touch its views in Xamarin

java - 如何在 Eclipse 中调试 sun.security 包

安卓系统.ErrnoException : open failed: EACCES (Permission denied)

android - 将权限添加到 Android .aar 库项目的 list 中