打开某个文件,后缀是自己想要的类型,在弹出的窗口(用其它应用打开)的列表中显示自己的应用图标
(资料图片仅供参考)
点击后可以获得文件信息以便于后续的操作
实现步骤以注册.bin
后缀为例,新建一个MAUI
项目
修改Platforms\Android\MainActivity.cs
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density)]
调整为
[Activity(Theme = "@style/Maui.SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation | ConfigChanges.UiMode | ConfigChanges.ScreenLayout | ConfigChanges.SmallestScreenSize | ConfigChanges.Density, LaunchMode = LaunchMode.SingleTop)]
末尾增加了LaunchMode = LaunchMode.SingleTop
更改启动模式为栈顶模式,解释如下
SingleTop模式又称栈顶模式,每次启动一个Activity的时候,首先会判断当前任务栈的栈顶是否存在该Activity实例,如果存在则重用该Activity实例,并且回调其onNewIntent()函数,否则就创建一个新实例。
这样,我们就可以在回调函数中获得文件路径
注册关联类型还是修改Platforms\Android\MainActivity.cs
在Activevity
注册的下一行添加
[IntentFilter(new[] { Intent.ActionSend, Intent.ActionView }, Categories = new[] { Intent.CategoryDefault }, DataMimeType = @"application/octet-stream")]//.bin文件关联
application/octet-stream
是Bin
的Mime类型,根据自己的文件后缀,可以查询所有官方 MIME 类型的列表
重写OnNewIntent
拿到意图,并从中获取数据,通过 Messenger 进行数据传递
也可以通过试图跳转进行传递,具体参考:MAUI文档-传递数据
新建一个消息模型引用 CommunityToolkit.Mvvm NuGet 包
创建消息模型
namespace ITLDG.Message{ public class NewFileMessage : ValueChangedMessage { public NewFileMessage(Android.Net.Uri uri) : base(uri) { } }}
发送消息using Android.Content;//引用这个...public class MainActivity : MauiAppCompatActivity {... protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); //这里调用下,不然首次启动没有意图 OnNewIntent(Intent); } protected override void OnNewIntent(Intent intent) { base.OnNewIntent(intent); if (intent.Action == Intent.ActionView) { WeakReferenceMessenger.Default.Send(new NewFileMessage(intent.Data)); } }... }...
接收消息在ViewModel
中接收消息
WeakReferenceMessenger.Default.Register(this, (r, m) =>{ if (m.Value == null) return; var intent = m.Value; //文件路径 // var path = intent.Path //得到文件流 var stream = CurrentActivity.ContentResolver.OpenInputStream(intent); var memoryStream = new MemoryStream(); stream.CopyTo(memoryStream); //完整的数据 var bytes=memoryStream.ToArray()});
总结起初,我使用视图跳转传递参数的方式传递获取到的Intent
,尝试了几次无法传递到MainPage
后加了一个跳转页,拿到消息后传到到中转页,中专页拿到数据后再将数据回穿回来,但是这样传递,无法传递Intent
类型和Uri
类型,我不得不先将文件写到缓存目录,再传递缓存目录
这样的流程始终无法满意,最终改为使用Messenger 进行数据传递,问题解决
另外,起初首次打开文件唤醒APP,无法获取到Intent
,APP后台运行打开文件唤醒正常
后来在stackoverflow找到了答案
- MAUI Android 关联文件类型
- 大巴黎第37轮首发曝光:轮换5大主将 中场神童领衔 梅西姆巴佩冲锋 环球关注
- 万丰股份(603172)5月26日主力资金净卖出1768.45万元
- 金荷娜空姐_金荷娜男友 环球视点
- 浙江第一强县,花落谁家?-全球聚焦
- 世界动态:QQ辟谣212事件 事情经过是怎样的?
- 广州白云嘉禾望岗100亩宅地达到封顶价 进入现场摇号阶段_全球新消息
- 道氏技术董秘回复:公司作为市场的参与者,公司业绩会受到大宗商品价格波动的影响
- 环球时讯:学二次元插画报班多少钱?二次元插画培训机构推荐
- 世界报道:好方法造就好学生,方法从哪里来? ——《聪明儿童方法书》作者分享会在京举行
- 【环球报资讯】江西南昌:货车20天闯红灯36次 司机驾照被记234分
- 微资讯!一季度邮政业用户有效申诉满意率达97.8%
- 意都定制衣柜_意都定制家居 当前时讯
- 杭州赛狐科技有限公司_关于杭州赛狐科技有限公司概略|当前最新
- 世界今日讯!欧洲三国自驾游游记第四篇:重返塞尔维亚与线路分享
-
MAUI Android 关联文件类型
实现效果打开某个文件,后缀是自己想要的类型,在弹出的窗口(用其它应用打开)的列表中显示自己的应用图标点
-
苹果公司获得了一项名为带有柔性显示结构的电子设备专利
5月26日,根据商标和专利局(USPTO)公示的清单,苹果公司获得了一项名为带有柔性显示结构的电子设备专利,可
-
大巴黎第37轮首发曝光:轮换5大主将 中场神童领衔 梅西姆巴佩冲锋 环球关注
综上分析,本轮大巴黎对阵斯特拉斯堡,预计一共会轮换5大主力悍将,梅西、姆巴佩则会继续首发出战,最终的
-
福特电动车客户明年起可使用超过12,000个特斯拉超级充电桩
格隆汇5月26日丨福特汽车(F US)称公司已达成一项协议,其电动车客户从明年初开始在美国和加拿大可以使用超
-
万丰股份(603172)5月26日主力资金净卖出1768.45万元
截至2023年5月26日收盘,万丰股份(603172)报收于17 85元,下跌4 6%,换手率26 37%,成交量8 63万手,成交额1 53亿元。
-
当前快报:2022年邮政行业寄递业务量同比增长2.7%业务收入同比增长6.9%
2022年邮政行业寄递业务量同比增长2 7%业务收入同比增长6 9%2023年05月26日13:32人民网
-
金荷娜空姐_金荷娜男友 环球视点
1、金荷娜老公是金钟民。2、金荷娜(KimHaNeul),年月日出生于韩国忠清北道丹阳郡。本文到此分享完毕,希
-
浙江第一强县,花落谁家?-全球聚焦
浙江第一强县,这个荣誉无疑是让人羡慕不已!很多时候,大家提到强县的发展,首先就会想到江苏和浙江。而其
-
天天报道:晶圆旋转清洗干燥机市场现状分析
晶圆旋转清洗干燥机是一种用于半导体制造过程中清洗和干燥晶圆的设备。它通过旋转晶圆并喷洒清洗液和干燥气
-
2023中关村论坛开幕式发布十项重大科技成果 涉区块链、量子计算等
25日晚,2023中关村论坛在京开幕,开幕式上发布了北京国际科技创新中心建设十项重大科技成果。重大科技成果
-
世界动态:QQ辟谣212事件 事情经过是怎样的?
据了解,2019年2月12日1时左右,QQ群、QQ空间出现大量淫秽色情暴力视频并且大范围传播,影响极其恶劣,在该
-
天天热讯:停车吃饭时间充裕 南宁市道路停车惠民便民措施获群众肯定
5月23日,南宁市人民政府发布《南宁市关于实施道路停车惠民便民措施的通告》,明确“即日起,在南宁市主...
-
广州白云嘉禾望岗100亩宅地达到封顶价 进入现场摇号阶段_全球新消息
观点网讯:5月26日,观点新媒体获悉,广州白云嘉禾望岗出让100亩宅地,楼面起价21435元 平方米,目前地块已
-
贝泰妮荣获2022年度全景网“杰出IR团队”、“最佳机构沟通奖”和“杰出董秘”三项大奖
5月23日,由全景网主办、南开大学中国公司治理研究院参与推出的“全景投资者关系金奖”2022年度全国性评...
-
道氏技术董秘回复:公司作为市场的参与者,公司业绩会受到大宗商品价格波动的影响
道氏技术(300409)05月26日在投资者关系平台上答复了投资者关心的问题。
-
环球时讯:学二次元插画报班多少钱?二次元插画培训机构推荐
报培训班学习二次元绘画学费一般是要2K~5K之间,每个培训机构收费标准都是不一样,要根据不同的班型、学习
-
虹桥街道的“试吃会”回归啦,社区老人可自己决定助餐的菜单 全球头条
山楂红烧肉、五香肥肠、鸡心毛豆米……日前,一场阔别已久的“嗨吃夏季”试吃会在虹桥街道社区综合为老...
-
资阳融媒体中心(资阳广播电视台)在全省广播电视播出机构频率频道综合评价中名列前茅
资阳网讯近日,四川省广播电视局发出《四川省广播电视局关于2022年下半年广播电视播出机构频率频道综合评价
-
世界报道:好方法造就好学生,方法从哪里来? ——《聪明儿童方法书》作者分享会在京举行
孩子的成长道路上,总会遇到各种各样的问题,如做事磨磨蹭蹭、上课走神、沉迷电子游戏、与朋友闹矛盾、与父
-
【全球独家】《手把手教您康复 膝关节骨关节炎》科普手册在京发布
《手把手教您康复膝关节骨关节炎》科普手册在京发布---
-
【环球报资讯】江西南昌:货车20天闯红灯36次 司机驾照被记234分
人民网南昌5月25日电(记者时雨)闯红灯是严重的交通违法行为,交管部门对这种行为的处罚也很严厉。25日,
-
联合国总部举行活动缅怀殉职的维和人员-每日信息
新华社联合国5月25日电(记者毛磊)位于美国纽约的联合国总部25日举行系列活动,缅怀在联合国维和行动中殉
-
微资讯!一季度邮政业用户有效申诉满意率达97.8%
据国家邮政局消息,2023年第一季度,国家邮政局以及各省(区、市)邮政管理局通过“12305”邮政业用户申...
-
2023年5月北京新能源指标配置结果公布时间及查询入口 每日快看
2023年5月北京新能源指标配置结果公布公布时间:2023年5月26日10:00查询入口:1、官网:可登录北京市小客车
-
意都定制衣柜_意都定制家居 当前时讯
福州艺都家具有限公司成立于2003年,拥有多年的专业制造历史和成熟的销售网络,以及全新的品牌运营理念。是
广告
X 关闭

2月15日,为期40天的春运圆满收官。作为全国首个米字形高铁枢纽,今年春运以来郑州东站客流持续保持高位...
广告
X 关闭
- 1MAUI Android 关联文件类型
- 2大巴黎第37轮首发曝光:轮换5大主将 中场神童领衔 梅西姆巴佩冲锋 环球关注
- 3万丰股份(603172)5月26日主力资金净卖出1768.45万元
- 4金荷娜空姐_金荷娜男友 环球视点
- 5浙江第一强县,花落谁家?-全球聚焦
- 6世界动态:QQ辟谣212事件 事情经过是怎样的?
- 7广州白云嘉禾望岗100亩宅地达到封顶价 进入现场摇号阶段_全球新消息
- 8道氏技术董秘回复:公司作为市场的参与者,公司业绩会受到大宗商品价格波动的影响
- 9环球时讯:学二次元插画报班多少钱?二次元插画培训机构推荐
- 10世界报道:好方法造就好学生,方法从哪里来? ——《聪明儿童方法书》作者分享会在京举行
- 苹果公司获得了一项名为带有柔性显示结构的电子设备专利
- 福特电动车客户明年起可使用超过12,000个特斯拉超级充电桩
- 当前快报:2022年邮政行业寄递业务量同比增长2.7%业务收入同比增长6.9%
- 天天报道:晶圆旋转清洗干燥机市场现状分析
- 2023中关村论坛开幕式发布十项重大科技成果 涉区块链、量子计算等
- 天天热讯:停车吃饭时间充裕 南宁市道路停车惠民便民措施获群众肯定
- 贝泰妮荣获2022年度全景网“杰出IR团队”、“最佳机构沟通奖”和“杰出董秘”三项大奖
- 虹桥街道的“试吃会”回归啦,社区老人可自己决定助餐的菜单 全球头条
- 资阳融媒体中心(资阳广播电视台)在全省广播电视播出机构频率频道综合评价中名列前茅
- 【全球独家】《手把手教您康复 膝关节骨关节炎》科普手册在京发布

5G在城市中的广泛应用,不仅提升了城市治理水平,为城市发展提档加速,也给人们的生活带来巨大变化。2月...