Android 启动第三方app
一:直接通过包名
①
startActivity(intent);
Intent intent = new Intent(); intent.setAction("com.test.mydemo.main"); MainActivity.this.startActivity(intent); <intent-filter> <action android:name="com.test.mydemo.main" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter>
Android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在
程序列表里。
intent.setData(Uri.parse("mydemo://"));
startActivity(intent);
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="mydemo" />
</intent-filter>
附加内容:
微博 com.sina.weibo com.sina.weibo.SplashActivity
知乎 com.zhihu.android com.zhihu.android.ui.activity.GuideActivity
薄荷 com.app.one com.app.one.ui.SplashActivity
打开系统应用:
浏览网页
Uri uri =Uri.parse("http://www.google.com"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it);
拨打电话
Uri uri =Uri.parse("tel:xxxxxx"); Intent it = new Intent(Intent.ACTION_DIAL,uri); startActivity(it);
发短信
//方法1: Intent it = newIntent(Intent.ACTION_VIEW); it.putExtra("sms_body", "TheSMS text"); it.setType("vnd.android-dir/mms-sms"); startActivity(it); //方法2: Uri uri =Uri.parse("smsto:0800000123"); Intent it = newIntent(Intent.ACTION_SENDTO, uri); it.putExtra("sms_body", "TheSMS text"); startActivity(it); //方法三: String body="this is sms demo"; Intent mmsintent = newIntent(Intent.ACTION_SENDTO, Uri.fromParts("smsto", number, null)); mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY,body); mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE,true); mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT,true); startActivity(mmsintent);
发送彩信
Uri uri =Uri.parse("content://media/external/images/media/23"); Intent it = newIntent(Intent.ACTION_SEND); it.putExtra("sms_body","some text"); it.putExtra(Intent.EXTRA_STREAM, uri); it.setType("image/png"); startActivity(it); StringBuilder sb = new StringBuilder(); sb.append("file://"); sb.append(fd.getAbsoluteFile()); Intent intent = newIntent(Intent.ACTION_SENDTO, Uri.fromParts("mmsto", number, null)); // Below extra datas are all optional. intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT,subject); intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY,body); intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI,sb.toString()); intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE,composeMode); intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT,exitOnSent); startActivity(intent);
发送Email
Uri uri =Uri.parse("mailto:xxx@abc.com"); Intent it = newIntent(Intent.ACTION_SENDTO, uri); startActivity(it); Intent it = new Intent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_EMAIL,"me@abc.com"); it.putExtra(Intent.EXTRA_TEXT, "Theemail body text"); it.setType("text/plain"); startActivity(Intent.createChooser(it,"Choose Email Client")); Intent it=new Intent(Intent.ACTION_SEND); String[] tos={"me@abc.com"}; String[]ccs={"you@abc.com"}; it.putExtra(Intent.EXTRA_EMAIL, tos); it.putExtra(Intent.EXTRA_CC, ccs); it.putExtra(Intent.EXTRA_TEXT, "Theemail body text"); it.putExtra(Intent.EXTRA_SUBJECT, "Theemail subject text"); it.setType("message/rfc822"); startActivity(Intent.createChooser(it,"Choose Email Client")); Intent it = newIntent(Intent.ACTION_SEND); it.putExtra(Intent.EXTRA_SUBJECT, "Theemail subject text"); it.putExtra(Intent.EXTRA_STREAM,"file:///sdcard/mysong.mp3"); sendIntent.setType("audio/mp3"); startActivity(Intent.createChooser(it,"Choose Email Client"));
播放多媒体
Intent it = new Intent(Intent.ACTION_VIEW); Uri uri =Uri.parse("file:///sdcard/song.mp3"); it.setDataAndType(uri,"audio/mp3"); startActivity(it); Uri uri =Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI,"1"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it);
卸载 apk
Uri uri =Uri.fromParts("package", strPackageName, null); Intent it = newIntent(Intent.ACTION_DELETE, uri); startActivity(it);
安装 apk
Uri installUri = Uri.fromParts("package","xxx", null); returnIt = newIntent(Intent.ACTION_PACKAGE_ADDED, installUri); Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse("file://" + filepath),"application/vnd.android.package-archive"); startActivity(intent);// 安装
打开照相机
//1 Intent intent = new Intent("android.media.action.STILL_IMAGE_CAMERA"); //调用照相机 startActivity(intent); //2 Intent i = new Intent(Intent.ACTION_CAMERA_BUTTON, null); this.sendBroadcast(i); //3 long dateTaken = System.currentTimeMillis(); String name = createName(dateTaken) + ".jpg"; fileName = folder + name; ContentValues values = new ContentValues(); values.put(Images.Media.TITLE, fileName); values.put("_data", fileName); values.put(Images.Media.PICASA_ID, fileName); values.put(Images.Media.DISPLAY_NAME, fileName); values.put(Images.Media.DESCRIPTION, fileName); values.put(Images.ImageColumns.BUCKET_DISPLAY_NAME, fileName); Uri photoUri = getContentResolver().insert( MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values); Intent inttPhoto = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); inttPhoto.putExtra(MediaStore.EXTRA_OUTPUT, photoUri); startActivityForResult(inttPhoto, 10);
从gallery选取图片
Intent i = new Intent(); i.setType("image/*"); i.setAction(Intent.ACTION_GET_CONTENT); startActivityForResult(i, 11);
打开录音机
Intent mi = new Intent(Media.RECORD_SOUND_ACTION); startActivity(mi);
显示应用详细列表
Uri uri =Uri.parse("market://details?id=app_id"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it); //where app_id is the application ID, findthe ID //by clicking on your application on Markethome //page, and notice the ID from the addressbar //发现用package name也可以 //Uri uri =Uri.parse("market://details?id=<packagename>");
寻找应用
Uri uri =Uri.parse("market://search?q=pname:pkg_name"); Intent it = new Intent(Intent.ACTION_VIEW,uri); startActivity(it); //where pkg_name is the full package pathfor an application
打开联系人列表
//1 Intent i = new Intent(); i.setAction(Intent.ACTION_GET_CONTENT); i.setType("vnd.android.cursor.item/phone"); startActivityForResult(i, REQUEST_TEXT); //2 Uri uri = Uri.parse("content://contacts/people"); Intent it = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(it, REQUEST_TEXT);
调用系统编辑添加联系人
Intent intent = newIntent(Intent.ACTION_INSERT_OR_EDIT); intent.setType(People.CONTENT_ITEM_TYPE); intent.putExtra(Contacts.Intents.Insert.NAME, "My Name"); intent.putExtra(Contacts.Intents.Insert.PHONE, "+1234567890"); intent.putExtra(Contacts.Intents.Insert.PHONE_TYPE,Contacts.PhonesColumns.TYPE_MOBILE); intent.putExtra(Contacts.Intents.Insert.EMAIL, "com@com.com"); intent.putExtra(Contacts.Intents.Insert.EMAIL_TYPE, Contacts.ContactMethodsColumns.TYPE_WORK); startActivity(intent);
Android 启动第三方app相关推荐
- Android 系统 (39)---OTA后启动第三方APP出现APP Crash
FOTA/OTA之後启动第三方APP出現APP Crash 1.问题 用FOTA下载OTA包,下载完毕更新: 更新完毕后点击多个三方APP无法进入,提示报错(这些APK都是正常安装,非预置). ...
- android 启动第三方程序的代码(利用ComponentName)
转自:http://blog.csdn.net/vrix/article/details/6851557 在Intent中可以直接使用Intent.setClass() 也可以使用组件Compone ...
- Android 调用第三方 APP
本文导读 如果想要在 App 1 中调用 App 2 的 Activity1,则操作流程如下: 1)首先被调用的 App 2 中要声明 Activity1 是可以被启动的 或者 Activity 是对 ...
- Android预装第三方app
Android预装第三方app Android.mk device-common.mk Android.mk 解压apk中的lib并对*.so库文件进行整体打包,PRESIGNED使用apk预签名 L ...
- 获取android已安装的应用PackageInfo启动第三方APP应用
获取android已安装的应用PackageInfo 获取已安装的应用 public static ArrayList<AppInfo> getInstalledApps(Context ...
- android 安装第三方app,Android识别预装的第三方App方法实例
前言 新买一台手机,里面会有很多App,有的属于系统App,不可卸载,有的属于第三方App,厂商会预装一些常用的或者给了他们广告费的App,这些是可以卸载的. 如果要详细划分,系统App还可根据其路径 ...
- 【WP8】Uri关联启动第三方App
在WP8中支持启动第三方应用程序,比如在App1中可以打开App2,你可以在你的应用程序中直接打开QQ,也可以让其他开发者调用你的APP,例如:软件盒子 下面演示被调用方和调用方的使用方法,新建两个项 ...
- android 启动其他app的activity,Android在一个app中启动其他app中的service或者Activity
前言: 启动另一个app的activity和service其实是一样的,区别在于startActivity(intent)还是startService(intent)而已:所以下面案例以启动另一个ap ...
- Android启动一个app 流程
我们平时在手机桌面上点击一个app 图标, 就能启动一个app应用.从用户角度来看,这个过程看起来很简单,但是它的背后又隐藏着什么玄机 ? 在做安卓开发这么多年后,我觉得有必要认真的分析一下,启动一个 ...
最新文章
- robot framework安装问题排查
- NoSQL介绍(三)
- OSPF被隔离的区域
- Python中的除法 整除 非整除
- Win32下病毒设计入门详细解说
- 关于读完《软件工程》之后不解的问题
- Winform 中 dataGridView 导出到Excel中的方法总结
- 微信开发准备(三)--框架以及工具的基本使用
- 暗黑2魔电西格玛攻略_听说你想刷爆怪物的狗头?或许可以试试《暗黑破坏神》类单机手游...
- 发的楷体怎么写_小学生硬笔书法怎么练
- Applese 的毒气炸弹(最小生成树)
- 【Python】字符串的一些操作
- hosts管理工具:SwitchHosts的下载与使用教程
- 给大家拓宽点边界,15分钟带你入门sklearn与机器学习——分类算法篇
- SpringBoot中使用Aspect实现切面,超详细
- Android逆向:通过Xposed解密柠某直播本地数据
- [转帖]GT4 奖励车一览
- 评高工计算机专业是啥系列,评高级工程师需要职称计算机吗?高级工程师计算机模块是什么意思?...
- python web.py 网页开发
- 判断浏览器类型 (区分IE浏览器)