轉自:http://blog.csdn.net/vrix/article/details/6851557
在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);