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

时间:2014-03-06 02:41:42

标签: android security android-permissions

我有App A已经将保护级别的权限定义为签名。此应用程序启动属于App B的服务。它重复调用startService(intent)(仅定义intent类名称以调用服务)。

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

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

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

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

1 个答案:

答案 0 :(得分:0)

将这些行放入应用B的清单

<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的清单