从后台启动拨号的Android 4.4问题

时间:2018-11-20 14:11:22

标签: android xamarin.android android-4.4-kitkat

我有一个在某些情况下可以拨打电话的应用程序(此逻辑有效)。 但是前段时间,我发现在装有Android 4.4的设备上存在问题。

当我的应用在后台在前景中运行时,其他应用(例如Chrome)无法拨打电话。恢复我的应用程序后,它将启动拨号程序。

如果我仅在后台使用的应用程序像超级按钮一样。

其他版本运行良好(在android 5.1.1、7、8上进行了测试),只有4.4版本有问题。

检查了ADM中发生的情况,似乎我的意图没有在后台运行的应用程序在前景运行,而其他应用程序在前景运行。

我认为这是某种限制,但是我没有找到任何证明。

这是我的通话代码

    public void Call(string phoneNumber)
    {
        var intent = new Intent();

        intent.SetData(Android.Net.Uri.Parse("tel:" + Uri.EscapeDataString(phoneNumber)));
        intent.SetAction(Intent.ActionCall);
        intent.SetFlags(ActivityFlags.FromBackground);
        if (Build.VERSION.SdkInt < BuildVersionCodes.Lollipop)
            intent.SetPackage("com.android.phone");
        else
            intent.SetPackage("com.android.server.telecom");

        getContext.StartActivity(intent);
    }

为什么有人会这样?

0 个答案:

没有答案