0

我正在使用这个拨号器示例作为地下室。我添加了一些服务(前台),我应该从那里拨打电话。我怎样才能做到?

我在服务中有这个(onStartCommand)

    if (checkSelfPermission(this, CALL_PHONE) == PERMISSION_GRANTED) {
        val uri = "SOMENUMBER".toUri()
        startActivity(Intent(Intent.ACTION_CALL, uri).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK))
    }

但我不在服务中工作。错误日志:

Process: *.*.*, PID: 2789
java.lang.RuntimeException: Unable to start service *.*.*.*.Service@ab2ea53 with Intent { cmp=*.*.*/.*.Service (has extras) }: android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat=PHONENUMBER flg=0x10000000 }

我应该怎么做才能让它工作?哪些方法更正确(如果可能> 1)?

4

1 回答 1

1

"SOMENUMBER".toUri()

应该

"tel:SOMENUMBER".toUri()

https://developer.android.com/reference/android/content/Intent.html#ACTION_CALL

输入:如果没有,则启动一个空拨号器;否则 getData() 是要拨打的电话号码的 URI 或 tel: 明确电话号码的 URI。

其他相关问题:

Android中的呼叫意图

Android Intent.ACTION_CALL, Uri

于 2019-10-30T13:57:57.147 回答