Android 在安卓10上打个电话

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

我制作了一个应用程序,如果短信中出现预先配置的代码,它会自动拨打电话

我最初在安卓9上构建这个应用程序,只要我使用安卓9,它就可以正常工作,但我的手机升级到安卓10版本,它就停止工作了

分析日志并调试应用程序时,没有出现任何错误消息。调试一切都很好,我将acctivity称为:

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
            }

        }
    }