(资料图片)
一、获取Android唯一标识的方法
android10以前的版本可以通过获取imei得到设备的唯一标识,但是android10以后的系统已无法获取到imei。那么我们该如何确定设备呢?查阅了一些资料,个人看来下面的方法最为稳妥:
通过在app外部保存一个guid,每次打开app时读取该guid确定为设备号。保存在app外部,可以防止重新安装app导致guid被清除。
具体代码:
/// /// 机器码帮助类///  public class JQMHelper{    ///     /// 获取机器码    ///      ///      public static string GetJqm()    {        try        {            string path = System.IO.Path.Combine(GetPath(), "uuid.txt");            return File.ReadAllText(path);        }        catch (Exception ex)        {        }        return "";    }    ///     /// 保存机器码    ///      ///     public static void SaveJqm(string jqm)    {        try        {            string path = System.IO.Path.Combine(GetPath(), "uuid.txt");            File.WriteAllText(path, jqm);        }        catch (Exception ex)        {        }            }    ///     /// 获取路径    ///      ///      private static string GetPath()    {        try        {#if ANDROID            string path = "";            if (Android.OS.Environment.IsExternalStorageEmulated)            {                path = Android.OS.Environment.ExternalStorageDirectory.AbsolutePath;            }            else            {                path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);            }            Java.IO.File myDir = new Java.IO.File(path + "/myapp");            if (!myDir.Exists())                myDir.Mkdir();            return path + "/myapp/";#endif        }        catch (Exception ex)        {        }        return "";    }}调用代码:
//读取保存的机器码string jqm = JQMHelper.GetJqm();if (string.IsNullOrEmpty(jqm)){    jqm = Guid.NewGuid().ToString();    JQMHelper.SaveJqm(jqm);}此时运行代码,你会发现无法读取和保存guid,什么原因?搞过android的同学肯定知道:缺少了权限。
二、动态授权
官方文档:https://learn.microsoft.com/zh-cn/dotnet/maui/platform-integration/appmodel/permissions?view=net-maui-7.0&tabs=android直接上代码:
//写权限            PermissionStatus status = await Permissions.CheckStatusAsync();            if (status != PermissionStatus.Granted)                status = await Permissions.RequestAsync();//弹窗求授权            if (status != PermissionStatus.Granted)            {                await App.Current.MainPage.DisplayAlert("错误:", "必须给予存储访问权限!请手动给予权限后再重新登录!", "跳转到手动设置页面");#if ANDROID                Intent intent = new Intent(Settings.ActionApplicationDetailsSettings);                Android.Net.Uri uri = Android.Net.Uri.FromParts("package", AppInfo.Current.PackageName, null);                intent.SetData(uri);                Android.App.Application.Context.StartActivity(intent);#endif                return;            }  总结
至此完成。大家是否看出了MAUI的最大优势?
可以直接调用原生API
希望对大家有所帮助。
X 关闭
- 
                        
                          

每日播报!MAUI之Android记录设备号+动态授权
一、获取Android唯一标识的方法android10以前的版本可以通过获取imei得到设备的唯一标识,但是android10以后的系统已无法获取到imei。那么我们
 - 
                        
                          

守住“钱袋子”!警方成功破获一起接触性诈骗案件,涉案金额35万元…… 热闻
守住“钱袋子”!警方成功破获一起接触性诈骗案件,涉案金额35万元……
 - 
                        
                          

东星医疗:新一代电动腔镜吻合器产品实现批量生产,并已开始向国内市场推广|世界实时
东星医疗12月14日披露投资者关系活动记录表显示,公司新一代电动腔镜吻合器产品,已取得医疗器械注册证和生产许可证,实现了
 - 
                        
                          

中交集团主要领导拜会巴西总统卢拉
4月13日,中交集团党委书记、董事长王彤宙在上海拜会了巴西总统卢拉,双方就进一步深化基础设施建设等方面的合作进行座谈交流。 王彤宙感谢
 - 
                        
                          

微动态丨招商证券(06099.HK)将于4月28日举行董事会会议以审批第一季度业绩
格隆汇4月14日丨招商证券公告,董事会会议将于2023年4月28日举行,藉以考虑及批准公司及其附属公司截至2023年3月31日止三个月的未经审计第一季
 
- 1中越海警开展2023年第一次北部湾海域联合巡逻 环球观速讯
 - 2狮子林学生票必须要学生证吗
 - 3面向全国征集方案!昌平居庸关将建星夜关城古客栈
 - 4中信证券:给予商汤-W(00020.HK)“增持”评级 目标价4.40港元
 - 5港股异动 | 长城汽车(02333)午后涨幅扩大逾10% 机构指海外业务或为总销量增长核心 预测今年收入有望达1800亿元
 - 6今亮点!人和集团6927万元竞得南宁北湖片区旧改用地 须代建回迁安置房
 - 7昆仑万维4月14日盘中涨幅达5%
 - 8我的梦想英语作文医生_我的梦想英语作文_全球快报
 - 9港股汽车股走强,长城汽车涨超7%-天天热点评
 - 10环球快看:巴中科技合作不断结出丰硕成果(国际论坛)
 

