在android中点击textview拨打电话
我有一个问题,当我单击也包含电话号码的文本视图时,我想拨打电话。但是,当我单击“文本”视图时,它返回一个错误:
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)
并且我不知道如何解决该问题,请建议我有关此问题的正确解决方案。
代码:
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);
}
});
我还在清单文件中获得了有关 CALL 的许可。
I have a question that I want to dial a phone call when I click on a text view which also contain a phone number. But when I click on a Text view it returns an error as:
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)
and I don't know how to resolve the same, please suggest me the right solution regarding this.
Code:
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);
}
});
I also take a permission regarding CALL in our Manifest file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
将此属性添加到 XML 布局文件中的 textview 组件,如下所示:
Add this attribute to your textview component within the XML layout file like this:
这对我有用
This worked for me
将其更改为:
callIntent.setData(Uri.parse("tel:"+phone_no));
并且我没有添加此:
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
但它对我有用
Change it to :
callIntent.setData(Uri.parse("tel:"+phone_no));
and i didnt add this:
callIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
but its working for me
这段代码对我有用。自己尝试一下。
This code works for me. try it urself.
在AndroidManifest.xml文件中添加调用权限。
在您的layout.xml 文件的文本视图中
在您的活动类中。添加了运行时权限检查。
Add permission to call in AndroidManifest.xml file.
In your textview of your layout.xml file
In your activity class. Run-time permission check added.