Android 4.1.2权限BROADCAST_SMS

时间:2015-03-22 17:27:05

标签: android permissions sms

我一直试图在我的设备上实现一个发送和接收假短信的应用程序(Samsung Galaxy S2,Android 4.1.2)。我在这里找到了这样一个应用的例子: http://blog.dev001.net/post/14085892020/android-generate-incoming-sms-from-within-your
我复制粘贴它并在我的设备上运行。什么都没发生,我在日志中发现BROADCAST_SMS权限是系统。我使用Titanium Backup创建了应用系统,重启了我的设备并再次运行了应用程序。没有什么事发生了。我得到了同样的例外,即我的应用无权使用BROADCAST_SMS权限。然后我读到我应该在清单中指定android:sharedUserId="android.uid.system"。当我添加它时,我无法使用Intellij Idea 14运行我的应用程序: Failure [INSTALL_FAILED_SHARED_USER_INCOMPATIBLE]
我尝试安装Idea应用生成但有例外:Package has no signatures that match those in shared user android.uid.system; ignoring!

所以我有几个问题:
1.如何在清单中安装带有android:sharedUserId="android.uid.system"的未签名应用程序?
2.如果我使用Titanium Backup或其他技巧制作系统,我的应用程序是否可以使用BROADCAST_SMS权限? 3.还有其他方法可以强制应用程序在我的设备上运行吗?

我见过模仿短信传入的应用程序。但他们都直接写入收件箱。我需要一个应用程序,让其他应用程序相信新的短信即将到来。

提前致谢

2 个答案:

答案 0 :(得分:0)

要使用shareduserid,您的应用必须与使用此uid的所有其他应用具有相同的签名。在/ system分区上安装应用程序甚至给它提供priv-app状态是不够的。

顺便说一句,许可是等级"签名"无论如何(不是signatureOrSystem)所以你可以获得权限的唯一方法是你的应用程序使用与android框架相同的签名。换句话说,您必须制作自定义平台并使用它来刷新手机。

答案 1 :(得分:0)

如果您从AOSP安装/构建Android,则会使用测试密钥对所有应用进行签名。您可以使用此密钥对您的应用进行签名,并将其安装为系统应用。这非常适合测试;显然不会成为你想分发的东西的选择。