2012-07-11 39 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的鏈接。