Intent
2016-05-15 14:32
459 查看
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);
}
显示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);
}
相关文章推荐
- 案例-表的使用
- Metal 着色语言编程指南 二十
- React Native从入门到放弃
- [经验技巧] Android移植中部分重要lib库文件作用
- 算法-快速排序
- PC常用的快捷键
- android中的广播
- Android中XML的三种解析方式
- Poj 2186 Popular Cows
- redis之Hiredis C编程
- Linux:前期总结
- Java中自定义注解的应用
- 关于python文件转为exe文件
- 处理电脑蓝屏步骤
- [架构设计]第一讲:什么是架构
- Git 学习 -- 远程操作
- ntp测试小记
- 剑指offer面试题38:数字在已排序数组中出现的次数
- ReactNative – 组件的生命周期
- OC NSString(字符串)