Android 隱式呼叫詳解(Action)

2021-07-23 21:11:37 字數 2111 閱讀 6158

要通過action呼叫某個activity**如下:

//隱式呼叫**片段

intent intent=new intent();

intent.setaction("com.ex.wy");

startactivity(intent);

*如果這個手機中都找不到這個action就會報錯

xml中**

下面的

必須加上因為在你 startactivity(intent);時系統已經預設加上這個category了

so,為了你的activity能夠隱試呼叫必須加

android:name=".intentactivity">

android:name="com.ex.wy" />

android:name="com.ex.wy2" />

`android:name="android.intent.category.default" />

intent-filter>

action的匹配規則

android:name="com.ex.wy" />

android:name="com.ex.wy2" />

我這裡寫了兩個action但是我的intent中只是新增了乙個action

依然可以照常呼叫

但是如果我intent中的action有兩個而且我另乙個activity加上乙個action呢

程式會呼叫哪個?

intent intent=new intent();

intent.setaction("com.ex.wy");

intent.setaction("com.ex.wy3");

startactivity(intent);

android:name=".intentactivity2">

android:name="com.ex.wy" />

`android:name="android.intent.category.default" />

intent-filter>

android:name=".intentactivity">

android:name="com.ex.wy" />

android:name="com.ex.wy2" />

`android:name="android.intent.category.default" />

intent-filter>

實驗結果:程式只會呼叫乙個最符合的(intentactivity)

如果我intent只有乙個action呢,但是兩個activity都有這個action

這種我們經常遇到,比如開啟乙個檔案系統會讓你選擇用什麼程式開啟

so,系統會讓你選擇

第三種情況

intent intent=new intent();

intent.setaction("com.ex.wy");

intent.setaction("com.ex.wy3");

startactivity(intent);

android:name=".intentactivity2">

android:name="com.ex.wy" />

`android:name="android.intent.category.default" />

intent-filter>

android:name=".intentactivity">

android:name="com.ex.wy3" />

`android:name="android.intent.category.default" />

intent-filter>

這種很奇葩 這個intent中的action有兩個但是每個activity只有乙個符合

程式只會選擇最後面那個

intent.setaction("com.ex.wy3");

C 隱式呼叫

includeusing namespace std class myclass myclass const myclass x myclass operator const myclass x myclass int main 執行時的輸出結果是 122444 c myclass obj3 obj...

scala隱式引數 隱式函式 隱式類詳解

隱式函式 隱式類1 定義乙個普通變數,使用 implicit 關鍵字修飾,定義乙個函式呼叫這個變數當引數時,此時這個引數就被稱為隱式引數 2 隱式引數的作用 減少提供函式引數的數量,讓某些引數擁有隱藏的值 隱式變數 def main args array string unit def fun2 a...

顯示呼叫和隱式呼叫

使用類名呼叫時顯式呼叫。c 中,顯式介面只能使用介面呼叫,隱式介面使用類和介面呼叫皆可。c 首先動態庫分為顯示呼叫和隱式呼叫,這個的區別呢,顯示呼叫 需要loadlibray和freelibrary,隱式呼叫不需要loadlibrary和freelibrary,只是需要匯入相關的lib檔案,因此,如...