TelecomManager.ACTION_CHANGE_DEFAULT_DIALER возвращает RESULT_CANCELED для huawei P8 Lite - PullRequest
1 голос
/ 10 апреля 2019

Я хочу изменить номеронабиратель Android по умолчанию и хочу сделать свою собственную индивидуальную звонилку.Для этой цели я выбрал GIthub repo в качестве стартового проекта.Это хорошо работает на всех других телефонах и перестает работать на huawei p8 lite.Всплывающее сообщение по умолчанию не отображается для установки приложения по умолчанию.Вот кодовый блок

 private fun checkDefaultDialer() {
        if (Build.VERSION.SDK_INT < Build.VERSION_CODES.M) return

        val telecomManager = getSystemService(TELECOM_SERVICE) as TelecomManager
        val isAlreadyDefaultDialer = packageName == telecomManager.defaultDialerPackage
        if (isAlreadyDefaultDialer) return

        val intent = Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER).putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, packageName)
        startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_DIALER)
    }

    private fun checkSetDefaultDialerResult(resultCode: Int) {
        val message = when (resultCode) {
            RESULT_OK -> "User accepted request to become default dialer"
            RESULT_CANCELED -> "User declined request to become default dialer"
            else -> "Unexpected result code $resultCode"
        }
        Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
    }

StertActivityforResult возвращается с RESULT_CANCELED и сообщением "Пользователь отклонил запрос на набор номера по умолчанию" Не могу найти какое-либо решение для этого.Любая помощь будет с благодарностью.

1 Ответ

1 голос
/ 16 апреля 2019

Попробуйте добавить несколько фильтров намерений в свою активность в AndroidManifest.

<intent-filter>
    <action android:name="android.intent.action.VIEW"/>
    <action android:name="android.intent.action.DIAL"/>

    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE"/>

    <data android:scheme="tel"/>
</intent-filter>
<intent-filter>
    <action android:name="android.intent.action.DIAL"/>

    <category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
...