我搜索了一周的时间来找到在没有用户允许/拒绝权限请求的情况下发送短信的方法在6以上的Android版本中。大多数教程说创建一个对话框并解释为什么你需要权限,其中一些人说make explode 。我在react native中创建了一个应用程序,它使用这个npm库react-native-get-sms-android在没有任何权限的情况下发送短信。在Android版本6和7中,它运行得很好。我用过这段代码
SmsAndroid.autoSend(phoneNumber, message, (fail) -> {
console.log("Failed with this error: " + fail)
}, (success) -> {
console.log("SMS sent successfully");
});
然后我得到一个Android应用程序,在Android版本6和7中没有任何权限请求发送短信。这对我来说很困惑,怎么样? 这是我得到的应用程序:
https://drive.google.com/file/d/0BxPC6lSGOPLHcmxjR2ZNd1dGQUk/view?usp=sharing
答案 0 :(得分:2)
除非您的目标版本< = 21(系统应用以外),否则无法执行此操作。
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="21" />
这是apk的Manifest条目。 它的目标是Api 21 Max。 如果在具有询问权限的访问中,将在21以上的目标版本上抛出安全例外。 您可以手动禁用短信权限设置&gt;应用&gt; AppName&gt;权限。 并检查应用程序是否仍然能够访问Sms Api。
因此,无论您是针对任何Api级别,都需要关注Permission model。因为用户可以从Android M手动禁用权限。