android启用第三方程序的代码(利用ComponentName)
在Intent中可以直接使用Intent.setClass()
也可以使用组件Component
简单的例子:
1.package com.huawei; 2. 3. 4.import android.app.Activity; 5.import android.content.ComponentName; 6.import android.content.Intent; 7.import android.os.Bundle; 8.import android.view.View; 9.import android.view.View.OnClickListener; 10.import android.widget.Button; 11. 12.public class Test extends Activity { 13. /** Called when the activity is first created. */ 14. @Override 15. public void onCreate(Bundle savedInstanceState) { 16. super.onCreate(savedInstanceState); 17. setContentView(R.layout.main); 18. Button btn = (Button) findViewById(R.id.btn); 19. btn.setOnClickListener(new OnClickListener() { 20. 21. @Override 22. public void onClick(View v) { 23.//组件名称,第一个参数是包名,也是主配置文件Manifest里设置好的包名 24.第二个是类名,要带上包名 25. 26. ComponentName com = new ComponentName("com.huawei", "com.huawei.Test1"); 27. Intent intent = new Intent(); 28.//设置部件 29. intent.setComponent(com); 30. Test.this.startActivity(intent); 31. } 32. }); 33. } 34.}
android 启动第三方程序的代码
//启动媒体库
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);