我要做 Android 第四弹 ps(Q:如何启动其他应用的Activity?)

一、打开第三方应用 (1)

	Intent intent=new Intent();  
    //包名 包名+类名(全路径)  
    intent.setClassName("com.jack", "com.jack.PlaneActivity");  
    startActivity(intent);  
复制代码

(2)

 	Intent intent = new Intent();  
    ComponentName comp = new 			   	         ComponentName("com.jack","com.jack.PlaneActivity"); 		 
    intent.setComponent(comp);  
    intent.setAction("android.intent.action.MAIN");  
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
    startActivity(intent);
复制代码

(3)转载自https://blog.csdn.net/aaa111/article/details/41833189

 public static final String APP_PACKAGE_NAME = "com.*.*";//包名

    /**
     * 启动薄荷App
     * @param context
     */
    public static void launchapp(Context context) {
        // 判断是否安装过App,否则去市场下载
        if (isAppInstalled(context, APP_PACKAGE_NAME)) {
            context.startActivity(context.getPackageManager().getLaunchIntentForPackage(APP_PACKAGE_NAME));
        } else {
            goToMarket(context, APP_PACKAGE_NAME);
        }
    }

    /**
     * 检测某个应用是否安装
     * 
     * @param context
     * @param packageName
     * @return
     */
    public static boolean isAppInstalled(Context context, String packageName) {
        try {
            context.getPackageManager().getPackageInfo(packageName, 0);
            return true;
        } catch (NameNotFoundException e) {
            return false;
        }
    }

    /**
     * 去市场下载页面
     */
    public static void goToMarket(Context context, String packageName) {
        Uri uri = Uri.parse("market://details?id=" + packageName);
        Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri);
        try {
            context.startActivity(goToMarket);
        } catch (ActivityNotFoundException e) {
        }
    }
复制代码

调用系统应用

(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 it = new Intent(Intent.ACTION_VIEW, uri);  
    startActivity(it);  
复制代码

(3)显示地图

	Uri uri = Uri.parse("geo:38.899533,-77.036476");  
    Intent it = newIntent(Intent.Action_VIEW,uri);  
    startActivity(it);  
复制代码

(4)拨打电话

 	Uri uri =Uri.parse("tel:xxxxxx");  
    Intent it = new Intent(Intent.ACTION_DIAL,uri);    
    startActivity(it);  
复制代码

(5)发短信

 //方法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);  
复制代码

(6)发 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"));
复制代码

(7)播放多媒体

	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);  
复制代码

(8)卸载 apk

    Uri uri =Uri.fromParts("package", strPackageName, null);     
    Intent it = newIntent(Intent.ACTION_DELETE, uri);     
    startActivity(it);  
复制代码

(9)安装 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);// 安装 
复制代码

(10)显示应用详细列表

	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>");  
复制代码

(11)寻找应用

	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    
复制代码

(12)打开联系人列表

 //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);  
复制代码

这篇文章是转载的,出处在这 blog.csdn.net/aaa111/arti… Android 版本的提高,权限也有很多的变化,所以可能会有一些方法不能使用,不过这里可以作为参考。也算是弥补了以下基本知识。再说了,记不得 Google 不就 OK 了是吧。

愿我们成为真实的自己。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值