Android : 对于通话和发送短信 Intent 需要添加权限吗?

Mr.*_* Ad 2 sms android call android-intent

当用户点击通话和短信按钮时,我正在处理通话和短信意图。

题:

1)需要在AndroidManifest.xml文件中添加权限?

2) 还需要为运行时权限编码吗?

我为呼叫意图编写代码如下:

 Intent intent = new Intent(Intent.ACTION_DIAL);
                intent.setData(Uri.parse("tel:" + driverMobileNo));
                startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

短信意向

Intent it = new Intent(Intent.ACTION_SENDTO, Uri.parse("smsto:"+ driverMobileNo));
            it.putExtra("sms_body", "The SMS text");
            startActivity(it);
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常(在 Oreo 8.0 版本中测试),无需在 AndroidManifest.xml 和运行时添加权限。

Max*_*lle 6

您可以在没有任何许可的情况下使用此代码:

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("sms:" + phoneNumber));     
intent.putExtra("sms_body", message); 
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

对于通话,您可以在没有任何许可的情况下使用它:

Intent intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:phoneNumber"))
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

您不需要任何许可,因为用户实际拨打了电话,您只需将他重定向到电话应用程序即可。如果您想直接通过您的应用拨打电话,您必须使用ACTION_CALL代替ACTION_DIAL并添加权限:

<uses-permission android:name="android.permission.CALL_PHONE" />
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你 !