TelecomManager.ACTION_CHANGE_DEFAULT_DIALER在华为P8 Lite上返回RESULT_CANCELED [英] TelecomManager.ACTION_CHANGE_DEFAULT_DIALER returns RESULT_CANCELED on huawei P8 Lite

查看:435
本文介绍了TelecomManager.ACTION_CHANGE_DEFAULT_DIALER在华为P8 Lite上返回RESULT_CANCELED的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想更改Android默认拨号器,并要制作自己的自定义拨号器.为此,我选择了 GIthub回购作为启动项目.这在所有其他手机上均能正常工作,并在华为p8 lite上停止工作.默认弹出消息不会出现,用于将应用设置为默认. 这是代码块

I want to change Android default dialer and want to make my own customized dialer. For this purpose I have choose this GIthub repo as start up project. This works well on all other phone and stops working on huawei p8 lite. The default pop up message does not shows up for setting the app as default. Here is code block

 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和消息用户拒绝了成为默认拨号程序的请求" 无法为此找到任何解决方案.任何帮助将不胜感激.

StertActivityforResult returns with RESULT_CANCELED and message "User declined request to become default dialer" Cant find any solution for this. Any help will be greately appreciated.

推荐答案

尝试向AndroidManifest中的活动"添加一些意图过滤器.

Try to add some intent filters to your Activity in 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>

这篇关于TelecomManager.ACTION_CHANGE_DEFAULT_DIALER在华为P8 Lite上返回RESULT_CANCELED的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆