我一直在研究一个 Android 应用 概念,在用户启动服务时,应用程序必须自动拨号。
我发现,当应用程序尝试自动拨号时,手机( 还是叫 Intent ) 不会自动拨号,而用户必须手动启动服务。
目前,我正在启动这些调用:intent = new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:" + number.trim()));
try {
activity.startActivity(intent);
} catch (Exception e) {
Log.d(Tag, e.getMessage());
}
有趣的是,如 +256772777000将自动拨号,将用户自动启动,但是数字/代码如 911,*112#, *1*23#, 等。
那么,我需要做什么,或者根本不可能?
更新
其实我只是在用autodialling用户指定的号码,上面代码试图自动拨号ussd代码的问题是,我使用的号码不是直接打电话给用户,而不是直接调用它。 当我修复这个问题的时候,应用就像预期一样。 请参见下面的答案。
最受欢迎的代码示例。