android之应用程序启动第三方应用
16lz
2021-01-26
在现在Android开发中应用中越来越丰富的操作,可其他应用程序关联与启动,调起第三方应用例如(“QQ”、“微信”、“支付宝”、“高德地图”等),还有一些系统应用(“电话”、“短信”、“拍照”、“图库”等),下面一起来看看如何启动这些常用应用。
一、QQ
1. 第三方应用
1)通过包名启动
PackageManager packageManager = this.getPackageManager();Intent intent= packageManager.getLaunchIntentForPackage("com.tencent.mobileqq");startActivity(intent);
2)通过包名和类名启动
Intent intent = new Intent(); ComponentName comp = new ComponentName("com.tencent.mobileqq", "com.tencent.mobileqq.activity.SplashActivity"); intent.setComponent(comp); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);
二、系统应用
1)从google搜索内容
Intent intent = new Intent(); intent.setAction(Intent.ACTION_WEB_SEARCH); intent.putExtra(SearchManager.QUERY,"搜索内容") startActivity(intent);
2)浏览网页
Uri uri = Uri.parse("http://www.google.com"); Intent intent = new Intent(Intent.ACTION_VIEW,uri); startActivity(intent);
3)显示地图
uri = Uri.parse("geo:36.899533,66.036476"); Intent intent = newIntent(Intent.Action_VIEW,uri); startActivity(intent);
4)路径规划
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);
5)拨打电话
Uri uri = Uri.parse("tel:10086"); Intent intent = new Intent(Intent.ACTION_DIAL,uri); startActivity(intent);
6)发短信
Uri uri = Uri.parse("smsto:10086"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); intent.putExtra("sms_body", "SMS Text"); startActivity(intent);
7)发送彩信
Intent intent = new Intent(Intent.ACTION_SEND);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);
8)发送Email
Uri uri = Uri.parse("mailto:123456@qq.com"); Intent intent = new Intent(Intent.ACTION_SENDTO, uri); startActivity(intent);
9)播放多媒体
Intent intent = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file:///sdcard/song.mp3"); intent.setDataAndType(uri,"audio/mp3"); startActivity(intent);
10)设置界面
Intent intent = new Intent(android.provider.Settings.ACTION_SETTINGS);startActivity(intent);
11)拍照
// 打开拍照程序Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent, 1);
Bundle extras = intent.getExtras();Bitmap bitmap = (Bitmap) extras.get("data");
12)选择图片
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.setType("image/*");startActivityForResult(intent, 2);
13)打开录音机
Intent intent = new Intent(Media.RECORD_SOUND_ACTION); startActivity(intent);
14)卸载软件
Uri uri = Uri.fromParts("package", strPackageName, null); Intent intent = new Intent(Intent.ACTION_DELETE, uri); startActivity(intent);
15)安装软件
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);
三、场景应用
检查版本更新,跳转到腾讯应用宝进行下载更新
/** 跳转到腾讯应用宝下载软件 */public static void goThirdApp() { if (isAvilible(this, "com.tencent.android.qqdownloader")) {// 市场存在 startAppStore(getApplicationContext(), "项目包名", "com.tencent.android.qqdownloader"); } else { Uri uri = Uri.parse("http://a.app.qq.com/o/simple.jsp?pkgname=项目包名"); Intent it = new Intent(Intent.ACTION_VIEW, uri); startActivity(it); }}
/** 启动到app详情界面 */public static void startAppStore(Context context, String appPkg, String marketPkg) { try { if (TextUtils.isEmpty(appPkg))return; Uri uri = Uri.parse("market://details?id=" + appPkg); Intent intent = new Intent(Intent.ACTION_VIEW, uri); if (!TextUtils.isEmpty(marketPkg)) { intent.setPackage(marketPkg); } intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } }
/** 判断软件是否存在 */public static boolean isAvilible(Context context, String packageName) { try { context.getPackageManager().getPackageInfo(packageName, 0); return true; } catch (NameNotFoundException e) { return false; }}
更多相关文章
- Android(安卓)音视频开发(三) -- Camera2 实现预览、拍照功能
- Android调用系统相机拍照并保存图片文件
- Android(安卓)聚焦拍照和震动
- android 切换anctivity
- Service START_NOT_STICKY、START_STICKY
- Android(安卓)开机自动启动应用
- 使用ComponentName启动Activity
- 调用摄像头拍照并显示
- Android(安卓)启动暗码打开指令窗口