开发者

Application crashes when user clicks on textbox with android:autoLink="phone"

So, I have TextView with attribute set to highlight phones. When I click on phone I get this:

ERROR/AndroidRuntime(4853): FATAL EXCEPTION: main
        android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
        at android.app.ContextImpl.startActivity(ContextImpl.java:624)
        at android.content.ContextWrapper.startActivity(ContextWrapper.java:258)
        at android.text.style.URLSpan.onClick(URLSpan.java:62)
        at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:216)
        at android.widget.TextView.onTouchEvent(TextView.java:6863)
        at android.view.View.dispatchTouchEvent(View.java:3885)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1691)
        at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1125)
        at android.app.Activity.dispatchTouchEvent(Activity.java:2096)
        at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675)
        at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194)
        at android.view.ViewRoot.handleMessage(ViewRoot.java:1878)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:130)
        at android.app.ActivityThread.main(ActivityThread.java:3683)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:507)
        at com.andro开发者_StackOverflowid.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
        at dalvik.system.NativeStart.main(Native Method)

I think it might be related to the fact that my Activity implements my BaseActivity (abstract class). But how do I work around that? Everything else seems to be working just fine.


This link may be helpful. It is basically suggesting that you are attempting to start an Activity using a Context that is not from the Activity you are currently in. (Either that, or you are not in an Activity...)


I suppose you want to make a phone call on clicking that number right?

Then for that purpose, you can give it as:

String uri = "tel:" + phoneNo.trim() ;    //phoneNo is String variable which contains your no
Intent intent = new Intent(Intent.ACTION_CALL);
intent.setData(Uri.parse(uri));
startActivity(intent);
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜