2012-07-11 82 views
0

是否可以使用linkify使用模式拨打电话?我想在文本视图中显示文本“call store”。当我点击该文本视图需要使一个给定号码的电话。为此,我尝试了下面的代码。是否可以使用linkify使用模式拨打电话

Linkify.addLinks(callStoreTxt ,pattern,"9465789002"); 

这里callStoretxt是我的textview的名称。 但它是crashing.is有无论如何做到这一点? 编辑:我崩溃

07-11 15:11:02.361: E/AndroidRuntime(31906): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW [email protected] (has extras) } 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1512) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1384) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.Activity.startActivityForResult(Activity.java:3190) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.support.v4.app.FragmentActivity.startActivityForResult(Unknown Source) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.Activity.startActivity(Activity.java:3297) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.text.style.URLSpan.onClick(URLSpan.java:62) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:212) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.widget.TextView.onTouchEvent(TextView.java:8344) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.View.dispatchTouchEvent(View.java:5541) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent (ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1726) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1912) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1371) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.Activity.dispatchTouchEvent(Activity.java:2364) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1860) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.View.dispatchPointerEvent(View.java:5721) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2890) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewRootImpl.handleMessage (ViewRootImpl.java:2466) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:845) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2475) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.os.Handler.dispatchMessage(Handler.java:99) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.os.Looper.loop(Looper.java:137) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at android.app.ActivityThread.main(ActivityThread.java:4424) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at java.lang.reflect.Method.invokeNative(Native Method) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at java.lang.reflect.Method.invoke(Method.java:511) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
07-11 15:11:02.361: E/AndroidRuntime(31906): at dalvik.system.NativeStart.main(Native Method) 
+0

如果它崩溃,那么你需要提供logcat输出。 – Egor 2012-07-11 09:52:35

+0

尝试Linkify.addLinks(callStoreTxt,Linkify.PHONE_NUMBERS); – rajpara 2012-07-11 10:04:51

+0

如果我给这样的应用程序自动采取callStoreTxt作为电话号码的文本。但这不是一个电话号码 – 2012-07-11 10:06:08

回答

0

可以使用HTML(用 '电话' 协议)做的logcat的:

TextView textView = new TextView(this); 
textView.setText(Html.fromHtml("<a href='tel:9465789002'>Call store</a>")); 
textView.setMovementMethod(LinkMovementMethod.getInstance()); 

setMovementMethod()能够在TextView的链接。