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);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步