点击android中的textview拨打电话

San*_*dey 24 android

我有一个问题,当我点击一个包含电话号码的文本视图时,我想拨打一个电话.但是当我单击Text视图时,它会返回一个错误:

12-22 10:32:36.703: ERROR/AndroidRuntime(399): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.CALL dat=4564646546 flg=0x10000000 }
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1408)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.Activity.startActivityFromChild(Activity.java:3057)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.Activity.startActivityForResult(Activity.java:2837)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.Activity.startActivity(Activity.java:2923)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at com.shipface.profile.Profile$1.onClick(Profile.java:66)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.view.View.performClick(View.java:2408)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.view.View$PerformClick.run(View.java:8816)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.os.Handler.handleCallback(Handler.java:587)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.os.Handler.dispatchMessage(Handler.java:92)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.os.Looper.loop(Looper.java:123)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at android.app.ActivityThread.main(ActivityThread.java:4627)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at java.lang.reflect.Method.invokeNative(Native Method)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at java.lang.reflect.Method.invoke(Method.java:521)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-22 10:32:36.703: ERROR/AndroidRuntime(399):     at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,请为我提出正确的解决方案.

码:

tv_phone.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub
            String phone_no= tv_phone.getText().toString().replaceAll("-", "");
            Intent callIntent = new Intent(Intent.ACTION_CALL);
            callIntent.setData(Uri.parse(phone_no));
            callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
            startActivity(callIntent);
        }
    });
Run Code Online (Sandbox Code Playgroud)

我还在我们的清单文件中获得了关于CALL的许可.

Nar*_*eva 87

将此属性添加到XML布局文件中的textview组件,如下所示:

<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="phone"
    android:text="123 123 1234" />
Run Code Online (Sandbox Code Playgroud)


And*_*reS 20

这项工作对我来说:)

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:autoLink="phone" android:background="#ADD8E6" android:text="555-468-0602" />


Ses*_*nay 13

将其更改为:callIntent.setData(Uri.parse("tel:"+phone_no));

我没有添加这个: callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

但它为我工作