【问题标题】:'Intent' does not contain a definition for 'FLAG_ACTIVITY_NEW_TASK'“意图”不包含“FLAG_ACTIVITY_NEW_TASK”的定义
【发布时间】:2018-10-04 04:08:24
【问题描述】:

我已经开始编写一个 Xamarin Android 应用程序,它会在闹钟响起时更改活动。网上到处都有人说要使用 FLAG_ACTIVITY_NEW_TASK 或类似的标志来调用新的活动。出于某种原因,我的 Intent 没有定义任何这些标志。

[BroadcastReceiver(Enabled = true)]
public class AlarmReceiver : BroadcastReceiver
{
    public override void OnReceive(Context context, Intent intent)
    {
        Toast.MakeText(context, "THIS IS MY ALARM", ToastLength.Long).Show();

        Intent i = new Intent();
        i.SetClassName("AlarmReceiver", "AlarmActivated");
        i.SetFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //error
        context.StartActivity(i);
    }
}

没有定义这个标志或其他类似标志是否有原因?谢谢。

【问题讨论】:

    标签: c# android xamarin xamarin.android


    【解决方案1】:

    Xamarin“C# 规范化”Android/Java 方法/属性,有时将枚举/标志移动到它们自己的“子”枚举中,FLAG_ACTIVITY{_XXX} 变为 ActivityFlags 枚举。

    所以Intent.FLAG_ACTIVITY_NEW_TASK 变成了ActivityFlags.NewTask

    【讨论】:

      【解决方案2】:
      i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      context.startActivity(i);
      

      在我的情况下,addFlags 得到了帮助,而不是 setFlags

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-27
        • 1970-01-01
        • 2012-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多