回忆一下:我之前是怎么使用intent来打开新的Activity的?
intent.setClass(当前组件.this, 目标组件.class);
那如何我要打开外部应用呢?
比如我要通过按钮点击后,打开系统闹钟
intent.setClassName(包名, 包名+activity名);
public void onClick(View v){
//((Button)v).setText("更改后的按钮文字");
Intent intent = new Intent();
intent.setClassName("com.android.deskclock","com.android.deskclock.DeskClock");
startActivity(intent);
}
除了通过setClassName()
,还可以用setComponent()
来打开外部程序
//intent.setClassName("com.android.deskclock","com.android.deskclock.DeskClock");
intent.setComponent(new ComponentName("com.android.deskclock","com.android.deskclock.DeskClock"));
setClassName内部也是调用的setComponent。