隐式和显式意图

显式意图用于在同一应用程序包中启动活动或服务。在这种情况下,明确提到了目标类的名称:

Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);

但是,系统会在系统上为安装在用户设备上的任何可以处理该意图的应用程序发送隐式意图。这用于在不同应用程序之间共享信息。

Intent intent = new Intent("com.stackoverflow.example.VIEW");

//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){ 
    startActivity(intent);
}else{
    //Handle error
}

有关差异的更多详细信息,请参阅此处的 Android 开发人员文档: 意图解析