intent.ACTION_CALL拨不出去电话的奇特问题~~~

一个很简单的拨打电话的问题,却出现了特别奇怪的现象。

String phoneNum;
phoneNum = "0800123123"
  callBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + phoneNum));
                startActivityForResult(intent,0);
                AppLockManager.getInstance().getCurrentAppLock().disable();
            }
        });

就这么一段简单的代码。没有任何问题。
由于是个台湾的项目,要用台湾的设备测试, 然后就搞了一个台湾的国民品牌HTC : 机型是M8 ,系统为 android 6.0 , HTC Sense 版本 7.0

然后神奇的事情就发生了— —没有反应。。。
我debug之后发现方法执行了,但是就是没有反应。
后来发现如果电话号码不是已0开头也没有问题。。。

换了一台三星设备 一切正常。。。

之后我又换了一个方法

String phoneNum;
phoneNum = "0800123123"
  callBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse("tel:" + phoneNum));
                startActivityForResult(intent,0);
                AppLockManager.getInstance().getCurrentAppLock().disable();
            }
        });

这个方法倒是有反应了,但是打开拨号界面之后不能返回程序,一按返回就直接回到主页面,而且在点击程序图标还是到拨号页面。。。。

而且上述两个过程完全不报错

这他妈就尴尬了。。。
估计是手机本身系统定制的问题。。。

当然了最后用了一个解决办法

callBtn.setAutoLinkMask(Linkify.PHONE_NUMBERS);
        callBtn.setMovementMethod(LinkMovementMethod.getInstance());

用html调用电话功能的方式。。。可以解决

你可能感兴趣的:(Android)