栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

Xamarin.Forms实现开机启动(Android平台)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Xamarin.Forms实现开机启动(Android平台)

最近开始研究了一下Xamarin.Forms,发现这个东西很有意思,对于.net程序员还是很方便,但是想搞明白最好还是要有一些原生开发的底子,比如AndroidStudio,这样更容易理解。

进入正题,关于Xamarin.Forms实现开机启动,网上搜了一下,都不够保姆级,这里详细写一下(这里要区分一下Xamarin.Forms和Xamarin.Android这是不一样的,关于Xamarin.Android实现开机启动网上有很多,方法跟原生差不多):

第一步:

新建一个Xamarin.Forms工程:Demo,你的解决方案里会出现两个工程分别是Demo和Demo.Android

第二步:

在Demo.Android上点右键->添加->新建项->广播接收器

这样就添加了一个Receiver,把它改名叫BootReceiver.cs

第三步:

BootReceiver.cs里面的代码如下

[BroadcastReceiver]
    [IntentFilter(new[] { Android.Content.Intent.ActionBootCompleted,Android.Content.Intent.CategoryLauncher })]
    public class BootReceiver : BroadcastReceiver
    {
        public override void OnReceive(Context context, Intent intent)
        {
            Intent toIntent = context.PackageManager.GetLaunchIntentForPackage(context.PackageName);
            context.StartActivity(toIntent);
        }
    }

第四步:

在Demo.Android上点右键->属性->Android清单

下面所需权限里把 RECEIVE BOOT COMPLETED 勾上

完成!

这里面其实就一个坑,Xamarin.Forms里AndroidManifest.xml不能手动修改,要通过上面的方法去生成。

备注

在 Android 8.0 (API 26 及更高版本中) ,Google 对应用可以执行的操作 施加限制 ,而用户不会直接与其交互。 这些限制会影响后台服务和隐式广播接收器(如) Android.Content.Intent.ActionBootCompleted 。 由于这些限制,在较新版本的 Android 上注册 Boot Completed 广播接收器可能会遇到困难。 如果是这种情况,请注意,这些限制不适用于前台服务,后者可以从广播接收方调用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/983175.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号