显式意图用于在同一应用程序包内启动活动或服务。在这种情况下,将明确提及所需类的名称:
Intent intent = new Intent(this, MyComponent.class); startActivity(intent);
但是,对于用户设备上安装的可以处理该意图的任何应用程序,系统会在系统上发送隐式意图。这用于在不同应用程序之间共享信息。
Intent intent = new Intent("com.stackoverflow.example.VIEW"); //我们需要检查是否安装了可以处理此意图的应用程序 if (getPackageManager().resolveActivity(intent, 0) != null){ startActivity(intent); }else{ //处理错误 }
可以在Android Developer文档中找到有关差异的更多详细信息:目的解析