我正在使用Xamarin,当我单击一个带有电话号码链接的文本视图时,模拟器正在执行一个错误。
应用程序输出具有以下输出:
[MessageQueue-JNI] Exception in MessageQueue callback: handleReceiveCallback
[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?
我需要在哪里设置旗子,我应该设置什么?
我能帮点忙吗?
提前谢谢。
编辑
这是我的申请代码:
namespace TestTextViewAutoLink
{
[Activity (Label = "TestTextViewAutoLink", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
TextView textView = new TextView (this.ApplicationContext);
textView.AutoLinkMask = Android.Text.Util.MatchOptions.PhoneNumbers;
textView.Text = "This is a phone number 0800 32 32 32";
//Linkify.AddLinks(textView, MatchOptions.PhoneNumbers);
SetContentView(textView);
}
}
}
在上面的代码中,我应该在哪里放置意图标志?
编辑2
这是我用来启动活动的代码,带有activityflags.newtask
namespace TestTextViewAutoLink
{
[Activity (Label = "TestTextViewAutoLink", MainLauncher = true)]
public class MainActivity : Activity
{
protected override void OnCreate (Bundle bundle)
{
Intent intent= new Intent(this.ApplicationContext, typeof(AutoLinkActivity));
intent.SetFlags(ActivityFlags.NewTask);
StartActivity(intent);
}
}
}
但是,现在发生此错误:
android.util.superNotCalledException:活动{testtextViewAutoLink.testtextViewAutoLink/testtextViewAutoLink.mainActivity}未调用到super.oncreate()
我怎样才能让代码工作?
最佳答案
您错过了在超级类中编写oncreate函数的调用
碱基。oncreate(束);
protected override void OnCreate (Bundle bundle)
{
base.OnCreate (bundle);
Intent intent= new Intent(this.ApplicationContext, typeof(AutoLinkActivity));
intent.SetFlags(ActivityFlags.NewTask);
StartActivity(intent);
}