Intent

Intent分为显示和隐式intent;

显示intent:commponent+extra

隐式intent:Action+Data(uri、mimetype)+category

下面是隐式intent代码示例

button.Click+=delegate{

Intent intent=new Intent();

intent.SetAction(Intent.ActionDial);

//拨电话,前提需要设置应用程序Call权限

Android.Net.Uri uriTel=Android.Net.Uri.Parse("tel:110");

intent.SetData(uriTel);

/*

//启动一个应用

intent.SetAction(Intent.ActionMain);

//启动浏览器

intent.AddCategory(Intent.CategoryAppBrowser);

//回到桌面

intent.AddCategory(Intent.CateogroyHome);;

*/

StartAcitivity(intent);

}

自定义可以通过隐式intent启动的在activity

[IntentFilter(new string[]{"com.itlead.action1"},

                          Categories=new string[]{"com.itlead.category1",intent.CategoryDefault})]

//Intent启动

intent.AddAction("com.itlead.action1"});

intent.AddCategory(“com.itlead.category1");

还可以访问其他应用的action,只要知道相应的action

 

Android.Net.Uri fileUri=Android.Net.Uri.Parse("file:///mnt/sdcard/ttt.mp3");

//设定Mimetype

intent.SetAction(Intent.ActionView);

intent.SetDataAndType(fileUri,"audio/mpeg");

读取SDCard权限

Mount_UNMOUNT_FILESYSTEMS

WRITE_EXTERNAL_STORAGE

intent.SetAction(Android.Provider.MediaStore.ActionImageCapture);

Java.IO.File sdPath=Android.OS.Environment.ExternalStorageDirectory;

Java.IO.File imagefile=new Java.IO.File(sdPath.AbsolutePath,"1.jpeg");

  imguri=Android.Net.Uri.FromFile(imagefile);

intent.PutExtra(Android.Provider.MediaStore.ExtraOutput,imguri);

StartActivityForResult(intent,2);

Android.Net.Uri imguri;

 

protected override void OnActivityResult(int requestCode,[GeneratedEnum] Result resoult)

{

   if(requestCode==2 && result==Result.Ok)

  {

            ImageView iv=FindViewById<ImageView>(Resource.Id.imageView1);

                  iv.SetImageURI(imguri);

  }

base.OnactivityResult(requestCode,result,data);

}

posted @   jeffery1010  Views(187)  Comments(0Edit  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示