将 Intent 过滤器添加到 Xamarin Forms / Xamarin Android 错误
Adding Intent Filters to Xamarin Forms / Xamarin Android Errors
我正在使用 Xamarin Forms 构建一个 Home Launcher 应用程序,类似于 Niagara Launcher。
为了使我的应用程序实际上像启动器应用程序一样运行,我想将所需的意图过滤器添加到 android 项目中的 mainactivity.cs,根据此 post:
https://forums.xamarin.com/discussion/21961/creating-an-android-launcher-home-screen-using-xamarin
让它看起来像这样:
namespace Launcher.Droid
{
[Activity(Label = "Launcher", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
[IntentFilter(new[] { Intent.ActionMain }, Categories = new[] { Intent.CategoryHome, Intent.CategoryDefault })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
对于每个 Intent Filter,我都会收到错误提示
- 静态成员'member'不能用实例引用访问;用类型名称限定它
和
- 静态成员'member'不能用实例引用访问;用类型名称来限定它。
我是 Xamarin 的新手,如果能得到提示/指导我做错了什么,我会非常高兴。谢谢大家
Static member 'member' cannot be accessed with an instance reference; qualify it with a type name instead
由于您的 member
是静态的,您应该使用 class/type 名称来访问它,而不是 instance/variable name.Using Class.Func
方法。
如果您的表单 class 被命名为 ClassA,请执行此操作 ClassA.member
。
我认为您缺少 using 语句
using Android.Content;
我正在使用 Xamarin Forms 构建一个 Home Launcher 应用程序,类似于 Niagara Launcher。
为了使我的应用程序实际上像启动器应用程序一样运行,我想将所需的意图过滤器添加到 android 项目中的 mainactivity.cs,根据此 post:
https://forums.xamarin.com/discussion/21961/creating-an-android-launcher-home-screen-using-xamarin
让它看起来像这样:
namespace Launcher.Droid
{
[Activity(Label = "Launcher", Icon = "@mipmap/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize)]
[IntentFilter(new[] { Intent.ActionMain }, Categories = new[] { Intent.CategoryHome, Intent.CategoryDefault })]
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
}
对于每个 Intent Filter,我都会收到错误提示
- 静态成员'member'不能用实例引用访问;用类型名称限定它
和
- 静态成员'member'不能用实例引用访问;用类型名称来限定它。
我是 Xamarin 的新手,如果能得到提示/指导我做错了什么,我会非常高兴。谢谢大家
Static member 'member' cannot be accessed with an instance reference; qualify it with a type name instead
由于您的 member
是静态的,您应该使用 class/type 名称来访问它,而不是 instance/variable name.Using Class.Func
方法。
如果您的表单 class 被命名为 ClassA,请执行此操作 ClassA.member
。
我认为您缺少 using 语句
using Android.Content;