在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);