Android 在安卓10上打个电话
我制作了一个应用程序,如果短信中出现预先配置的代码,它会自动拨打电话 我最初在安卓9上构建这个应用程序,只要我使用安卓9,它就可以正常工作,但我的手机升级到安卓10版本,它就停止工作了 分析日志并调试应用程序时,没有出现任何错误消息。调试一切都很好,我将acctivity称为:Android 在安卓10上打个电话,android,android-10.0,Android,Android 10.0,我制作了一个应用程序,如果短信中出现预先配置的代码,它会自动拨打电话 我最初在安卓9上构建这个应用程序,只要我使用安卓9,它就可以正常工作,但我的手机升级到安卓10版本,它就停止工作了 分析日志并调试应用程序时,没有出现任何错误消息。调试一切都很好,我将acctivity称为: Intent in = new Intent(Intent.ACTION_CALL); in.setData(Uri.parse(callPhone)); in.addFlags(Intent.FLAG_ACTIVITY
Intent in = new Intent(Intent.ACTION_CALL);
in.setData(Uri.parse(callPhone));
in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(in);
但什么也没发生。只是打不出电话。我使用其他版本的android安装在其他设备上,并且仍然可以工作,但在android 10中没有
有人知道是不是实现了一些不同的功能,还是有一种新的方式可以在安卓10版本上拨打电话
*注意:我还尝试更新代码以使用androidx库,更改为使用targetSdkVersion 29,但仍然相同。Android10仅限于从后台启动活动。这方面有一些例外情况。在我看来,请求“系统警报窗口”权限是最简单的。希望能有帮助 在舱单中:
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
为我工作!!!!!!!谢谢
private void RequestPermission() {
// Check if Android M or higher
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
// Show alert dialog to the user saying a separate permission is needed
// Launch the settings activity if the user prefers
Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getActivity().getPackageName()));
startActivityForResult(intent, ACTION_MANAGE_OVERLAY_PERMISSION_REQUEST_CODE);
}
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == ACTION_MANAGE_OVERLAY_PERMISSION_REQUEST_CODE) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(getContext())) {
PermissionDenied();
}
else
{
//Permission Granted-System will work
}
}
}