如何在App.css页面获取MainActivity.cs通过Intent传递的消息?
问题原因
- 你提到的 App.css 是层叠样式表文件,仅用于定义界面样式,无法执行C#逻辑,大概率是笔误,实际应该是应用入口文件
App.cs。 Intent.Extras是Android平台Activity/Service等组件的专属属性,App类是应用级别的入口,没有直接绑定的Intent实例,无法直接读取参数。
正确操作步骤
1. 调整MainActivity传参逻辑
在MainActivity.cs的OnCreate生命周期方法中取出参数,传递给App实例:
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // 取出Intent中携带的参数 string receivedMsg = Intent.Extras?.GetString("message", "") ?? ""; // 初始化App时将参数传入构造函数 LoadApplication(new App(receivedMsg)); }
2. 修改App类接收参数
在App.cs中新增带参数的构造函数,接收传递过来的值,可存为全局属性方便全应用调用:
public partial class App : Application { // 全局可访问的消息参数 public string SharedMessage { get; private set; } public App(string message) { InitializeComponent(); SharedMessage = message; // 此处可直接使用接收到的message MainPage = new MainPage(); } }
补充说明
如果你是要在其他Activity中接收MainActivity返回的结果,需要使用Android官方的Activity Result API或者旧版的StartActivityForResult方法实现,不能在非Android组件类中直接读取Intent.Extras。
内容的提问来源于stack exchange,提问作者alexandr f
相关产品推荐
相关产品推荐

