在我的一个应用程序中,我使用以下代码调用电话:
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(...));
startActivity(intent);
文档说我确实需要以下 list 许可才能这样做:
<uses-permission android:name="android.permission.CALL_PHONE" />
这真的需要吗?我不明白手机和相机功能之间的区别。使用手机 Intent 时,我确实需要许可,但我不需要相机 Intent 的许可:
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
...
startActivityForResult(intent, 1);
是否有关于在 Intent 的帮助下触发和不需要许可的硬件功能的列表?
最佳答案
实际上,如果你只想打开特定电话号码的拨号器,而不是直接调用(需要用户确认),你可以在没有任何权限的情况下这样做:
Uri uri = Uri.parse("tel:" + PHONE_NUMBER);
Intent callIntent = new Intent(Intent.ACTION_DIAL, uri);
try {
context.startActivity(callIntent);
} catch (ActivityNotFoundException activityNotFoundException) {
// TODO: place code to handle users that have no call application installed, otherwise the app crashes
}
关于android - 使用 Intent 调用电话时需要权限吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8041347/