android 启动第三方程序的代码(利用ComponentName)

在Intent中可以直接使用Intent.setClass()

也可以使用组件Component

简单的例子:

.package com.huawei;   
.  
.  
.import android.app.Activity;   
.import android.content.ComponentName;   
.import android.content.Intent;   
.import android.os.Bundle;   
.import android.view.View;   
.import android.view.View.OnClickListener;   
.import android.widget.Button;   
.  
.public class Test extends Activity {   
.    /** Called when the activity is first created. */  
.    @Override  
.    public void onCreate(Bundle savedInstanceState) {   
.        super.onCreate(savedInstanceState);   
.        setContentView(R.layout.main);   
.        Button btn = (Button) findViewById(R.id.btn);   
.        btn.setOnClickListener(new OnClickListener() {   
.               
.            @Override  
.            public void onClick(View v) {   
.//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名   
.第二个是类名,要带上包名   
.  
.                ComponentName com = new ComponentName("com.huawei", "com.huawei.Test1");   
.                Intent  intent = new Intent();   
.//设置部件   
.                intent.setComponent(com);   
.                Test.this.startActivity(intent);   
.            }   
.        });   
.    }   
.}
方法一:
Intent intent = new Intent();  
intent.setClassName(<package name>, <class name>);  
startActivity(intent);
方法二:
ComponentName com= new ComponentName(<Package Name> , <Calss Name>);  
i.setComponent(com);  
startActivity(i);  

//启动媒体库

Intent i = new Intent();

ComponentName comp = new ComponentName("com.android.camera","com.android.camera.GalleryPicker");

i.setComponent(comp);

i.setAction("android.intent.action.VIEW");

startActivity(i);

//启动相机

Intent mIntent = new Intent();

ComponentName comp = new ComponentName("com.android.camera","com.android.camera.Camera");

mIntent.setComponent(comp);

mIntent.setAction("android.intent.action.VIEW");

startActivity(mIntent);

//启动htmlviewer,并打开指定的一个文件 注意TXT不能是ANSI的,否则会乱码

Intent intent = new Intent();

ComponentName cn = new ComponentName("com.android.htmlviewer", "com.android.htmlviewer.HTMLViewerActivity");

intent.setComponent(cn);

Uri uri = Uri.fromFile(new File("/sdcard/demo.txt"));

intent.setDataAndType(uri, "text/plain");

startActivity(intent);
原文地址:https://www.cnblogs.com/hzcxy/p/3070748.html