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

18

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

我是Android应用程序新手,请提供一些例子。

2个回答

45

隐式活动调用

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

<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);

这里有一个额外的参考资料


请参考此链接 https://dev59.com/tWkv5IYBdhLWcg3w6k1Q#20728603,其中有关于Android中显式和隐式Activity调用的区别的解释。 - handkock

29
  1. 显式意图:显式意图指定了组件的名称。

  2. 隐式意图:隐式意图没有指定组件。

例如: 应该调用的Java类使用隐式意图要求系统执行服务,但没有告诉系统哪个Java类应该执行该服务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接