TelecomManager.ACTION_CHANGE_DEFAULT_DIALER在华为P8 Lite上返回RESULT_CANCELED [英] TelecomManager.ACTION_CHANGE_DEFAULT_DIALER returns RESULT_CANCELED on huawei P8 Lite
问题描述
我想更改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屋!