https://bugzilla.novell.com/show_bug.cgi?id=639679
https://bugzilla.novell.com/show_bug.cgi?id=639679#c0 Summary: StartActivity() requiring intent to have FLAG_ACTIVITY_NEW_TASK and not assuming the caller's task affinity Classification: Mono Product: MonoDroid Version: SVN Platform: 64bit OS/Version: Windows 7 Status: NEW Severity: Normal Priority: P5 - None Component: Runtime AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.55 Safari/534.3 So, according to Android docs, if we startactivity from another activity, by default, the task affinity of the new activity should be to belong to the same Task that the calling activity belongs to. http://developer.android.com/guide/topics/fundamentals.html#afftask However, I'm noticing that I get an error: 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.ApplicationContext.startActivity() Check out the code I'm using in the Additional Notes. But, I'm passing 'this' as the context where this is an Activity, however the stacktrace is showing that ApplicationContext seems to be what's used. Perhaps this is the problem? The context needs to be the Activity's context? I know if I add the ActivityFlags.NewTask (FLAG_ACTIVITY_NEW_TASK) it works, but I believe the point is, I should not have to do that. Reproducible: Always using System; using System.Collections.Generic; using System.Linq; using System.Text; using Android.App; using Android.Content; using Android.OS; using Android.Runtime; using Android.Views; using Android.Widget; namespace MonoDroidTesting { public class SimpleDataList : ListActivity { public SimpleDataList(IntPtr handle) : base(handle) { } protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); string[] items = new string[] { "Item One", "Second Item", "Number Three", "Fourth Option", "Fifth One", "Sixth Item", "Number Seven", "This is Eight", "Nine", "Ten Speed" }; this.ListAdapter = new ArrayAdapter<string>(this, Android.R.Layout.SimpleListItem1, items); this.ListView.ItemClick += new EventHandler<ItemEventArgs>(ListView_ItemClick); } void ListView_ItemClick(object sender, ItemEventArgs e) { //Toast.MakeText(this, "test", ToastLength.Short).Show(); var intent = new Intent().SetClassName(this.BaseContext, "monoDroidTesting.SubActivity"); // intent.AddFlags(ActivityFlags.NewTask); StartActivity(intent); } } } -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
