隐式和显式意图之间的区别

时间:2012-12-11 04:20:52

标签: android android-intent

我对隐含显式意图之间的区别感到困惑。隐式和显式意图的目的是什么,为什么使用这些概念?

我是Android应用程序的新手,所以请提供一些示例。

2 个答案:

答案 0 :(得分:46)

隐式活动调用

使用意图过滤器,您可以为活动创建操作,以便其他应用可以通过操作调用您的活动:

<activity android:name=".BrowserActivitiy" android:label="@string/app_name">
  <intent-filter>
     <action android:name="android.intent.action.VIEW" />
     <category android:name="android.intent.category.DEFAULT" />
     <data android:scheme="http"/> 
  </intent-filter>
</activity>

Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.example.com"));
startActivity(intent);

显式活动调用

您拨打电话,准确指出要使用的活动类:

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

Here's an additional reference

答案 1 :(得分:29)

  1. 显式意图:显式意图命名组件。

  2. 隐含意图:隐含意图未指定组件。

  3. E.g:应该被调用的java类隐式意图要求系统执行服务而不告诉系统哪个java类应该执行此服务。