【问题标题】:Phone call intent doesnt work - Xiaomi phone通话意图不起作用 - 小米手机
【发布时间】:2018-01-21 11:31:48
【问题描述】:

当您点击联系人号码布局时,它应该拨打电话,但是当我点击时,我得到一个空白屏幕,然后屏幕转到 rootview。日志正确显示了联系电话,我已经添加了权限。

我使用的是小米红米 4 手机,双卡。如果我将意图更改为 Intent.ACTION_DIAL 它拨号正常但我想拨打电话。

权限

<uses-permission android:name="android.permission.CALL_PHONE" />

调用意图代码

 @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View rootView = inflater.inflate(R.layout.fragment_detail, container, false);

    initializeDetailScreen(rootView);
    setValuesDetailScreen();

    mScrollView.setFillViewport(true);

    mTapToCallLayout.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            Intent callIntent = new Intent(Intent.ACTION_CALL);
            String contactNumber = "";               
            try {
                contactNumber =  (String) mContactJSONObj.get(Constants.CONTACT_TEL);

            } catch (JSONException e) {
                Log.v(LOG_TAG,"There is an error. ");
            }
            Log.v(LOG_TAG,"Contact number is: "+contactNumber);
            callIntent.setData(Uri.parse("tel:" + contactNumber));
            startActivity(callIntent);
        }
    });
    return rootView;
}

【问题讨论】:

  • 您使用的是什么 targetSdkVersion,您运行的是什么版本的设备?
  • targetSdkVersion 23 并且设备是 android 版本 7.1.2 N2G47H
  • 当您尝试该意图时,日志会说什么?在尝试拨打电话之前,您是否请求运行时权限?
  • 成功了,问题是运行时权限

标签: java android android-intent


【解决方案1】:

您的目标是 23 的 SDK,这需要您实现运行时权限才能成功使用 Intent.ACTION_CALL。

https://developer.android.com/training/permissions/requesting.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2020-05-27
    相关资源
    最近更新 更多