Xamarin Android 10: звонок с переднего плана перестает работать при выключенном экране - PullRequest
0 голосов
/ 04 февраля 2020

У меня есть следующий код, который делает телефонный звонок:

    public static void CallPhoneNumber(this Context context, string phoneNumber)
    {
        var uri = Android.Net.Uri.Parse("tel:" + phoneNumber);
        var callIntent = new Intent(Intent.ActionCall, uri);
        callIntent.AddFlags(ActivityFlags.NewTask);
        callIntent.AddFlags(ActivityFlags.FromBackground);
        context.StartActivity(callIntent);
    }

Я звоню внутри работающей службы переднего плана. В основном сервис определяет условия (в моем случае местоположение GPS) и делает телефонный звонок. Он отлично работал с моими Pixel 2XL и Android 9. Но после обновления до Android 10 я столкнулся с новой проблемой. Прежде всего - я был вынужден добавить новое разрешение FOREGROUND_SERVICE. Кроме того, служба переднего плана работает, как и ожидалось, и выполняет телефонные звонки - но только когда телефон «активен», я имею в виду, что он не находится в «спящем» режиме, когда экран выключен. Если экран выключен - служба работает, я могу отслеживать активность, но она не выполняет телефонный звонок.

adb logcat показывает это предупреждение (первая строка - Информация, вторая - Предупреждение). :

02-04 20:48:00.923  1315  7951 I ActivityTaskManager: START u0 {act=android.intent.action.CALL dat=tel:xxxxxxxxxxxx flg=0x10000004 cmp=com.android.server.telecom/.components.UserCallActivity} from uid 10174
02-04 20:48:00.924  1315  7951 W ActivityTaskManager: Background activity start [callingPackage: MyApp; callingUid: 10175; isCallingUidForeground: false; isCallingUidPersistentSystemProcess: false; realCallingUid: 10174; isRealCallingUidForeground: false; isRealCallingUidPersistentSystemProcess: false; originatingPendingIntent: null; isBgStartWhitelisted: false; intent: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxxx flg=0x10000004 cmp=com.android.server.telecom/.components.UserCallActivity }; callerApp: ProcessRecord{43f3a72 13957:MyApp/u0a174}]

Я ценю любые предложения. Спасибо!

...