[Mono-bugs] [Bug 639679] New: StartActivity() requiring intent to have FLAG_ACTIVITY_NEW_TASK and not assuming the caller's task affinity
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Sep 15 21:59:30 EDT 2010
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: mkestner at novell.com
ReportedBy: jondick at gmail.com
QAContact: mono-bugs at lists.ximian.com
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.
More information about the mono-bugs
mailing list