本来是在写当前应用和三方应用的交互,但是写到一半发现可以把常见的系统功能跳转一并记录,所以单独抽出来为新手记录一下这篇入门blog, 减法,减法,减成加法了~
该篇主要记录一些常用系统功能的跳转,例如打电话,发短信之类的;友情提醒涉及到Uri
类的时候,要记得适合Android7.0的FileProvide
~
Android系统相关blog
针对“常用”和“非常用”的定义,主要是根据我个人经验而来 ~
常用功能
拨打电话
//tel:后输入需要拨打的电话号码
<span style="color:#444444">
<code>Uri uri = Uri.parse("tel:10086");
Intent intent = new Intent(Intent.ACTION_DIAL,uri);
startActivity(intent);
</code>
</span>
发送短信
//smsto:后输入需要发短信的电话号码
Uri uri = Uri.parse("smsto:10086");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
//sms_body:后输入需要发送的内容
intent.putExtra("sms_body", "SMS Text");
startActivity(intent);
发送彩信
Intent intent = new Intent(Intent.ACTION_SEND);
//sms_body,发送的内容
intent.putExtra("sms_body", "Hello");
//发送的彩信内容
Uri uri = Uri.parse("content://media/external/images/media/23");
intent.putExtra(Intent.EXTRA_STREAM, uri);
intent.setType("image/png");
startActivity(intent);
浏览网页
//动态填入需要请求的网址即可
Uri uri = Uri.parse("http://www.google.com");
Intent intent = new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
发送Email
//mailto:后需要填入对方的email地址,别完全copy
Uri uri = Uri.parse("mailto:123456@qq.com");
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);
startActivity(intent);
拍照
注意:我印象中这个需要重写onResult
获取刚才拍的图片
// 打开拍照程序
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
Bundle extras = intent.getExtras();
Bitmap bitmap = (Bitmap) extras.get("data");
选择图片
注意:我印象中这个需要重写onResult
获取从图库中选择的图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 2);
设置界面
Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);
startActivity(intent);
非常用功能
录音机
Intent intent = new Intent(Media.RECORD_SOUND_ACTION);
startActivity(intent);
播放多媒体
//可以播放音频、视频(下方播放的是音频)
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/song.mp3");
intent.setDataAndType(uri,"audio/mp3");
startActivity(intent);
从google搜索内容
国内目前不太支持Google,所以不常用 ~
Intent intent = new Intent();
intent.setAction(Intent.ACTION_WEB_SEARCH);
intent.putExtra(SearchManager.QUERY,"搜索内容")
startActivity(intent);
显示地图
目前我们常用的地图,一般都是调用高德或者百度,这个也不太常用
uri = Uri.parse("geo:36.899533,66.036476");
Intent intent = newIntent(Intent.Action_VIEW,uri);
startActivity(intent);
路径规划
国内目前不太支持Google,所以Google地图也不太支持,国内常用的地图,一般都是调用高德或者百度,这个也不太常用
Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=39.9 116.3&daddr=31.2 121.4");
Intent intent = newIntent(Intent.ACTION_VIEW,URI);
startActivity(intent);
安装软件
//fileName:apk的具体路径,被copy示例代码
fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)),
"application/vnd.android.package-archive");
startActivity(intent);
卸载软件
//strPackageName:需要卸载的包名
Uri uri = Uri.fromParts("package", strPackageName, null);
Intent intent = new Intent(Intent.ACTION_DELETE, uri);
startActivity(intent);