在Sony小应用程序中使用可点击链接的Textview

时间:2014-06-30 14:10:25

标签: android textview sony

我的sony小应用程序中有一个textview,其中包含以下属性

android:autoLink="web|email|phone"
android:linksClickable="true"

但是当我运行应用程序,并点击textview中的任何电话号码时,我得到例外说

E/MessageQueue-JNI﹕ 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:886)
at android.app.ContextImpl.startActivity(ContextImpl.java:880)
at android.content.ContextWrapper.startActivity(ContextWrapper.java:276)
at android.text.style.URLSpan.onClick(URLSpan.java:62)

由于我的应用程序是索尼小应用程序,我没有任何活动,它是SmallApplication。有没有办法解决这个问题?

由于

1 个答案:

答案 0 :(得分:0)

如上所述,从Small App启动活动需要FLAG_ACTIVITY_NEW_TASK标志。 您可以在错误消息中看到在URLSpan类的第62行调用startActivity()。

一种可能的解决方案是修改URLSpan类,使用FLAG_ACTIVITY_NEW_TASK调用startActivity(),并使用修改后的URLSpan for TextView。

例如,

  1. 通过扩展URLSpan类并重写onClick()方法以使用FLAG_ACTIVITY_NEW_TASK调用startActivity()来创建新的自定义URLSpan类。
  2. 为自动链接文本创建SpannableString,并通过SpannableString.setSpan()方法设置自定义的URLSpan。
  3. 将SpannableString设置为TextView