這可能是一個非常愚蠢的問題,但我不太清楚答案。爲什麼我們需要android中的intent過濾器?
- 我的隱式意圖包含一個動作,數據&類別(可選),我在發送或者通過startActivity或startService意圖通過。
這樣的事情,我們通常做的,
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(android.content.Intent.EXTRA_TEXT, "Standing on the Moon!");
startActivity(intent);
,然後我們用不同的方式完成的,清單文件使用一個意圖過濾器相同的操作類似
<activity android:name="ShareActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>
我的問題 - 既宣稱這是爲了相同的目的,他們宣佈的兩種不同方式的方式,他們是否有不同的意義?
第一個是調用,第二個是宣告。這就像說你不需要方法簽名,因爲你調用了你的方法,所以他們必須存在。 – njzk2
在啓動您自己的應用程序的組件時請不要使用隱式Intents - 使用明確引用您的ShareActivity.class的Intent。不使用隱式意圖的原因是您無法保證您的應用程序組件將被使用,並且您可能會看到意外的行爲。 – Squonk