利用Intent隱式跳轉,實現手動選擇開啟符合條件的應用程式
阿新 • • 發佈:2018-12-08
先看實現效果:
實現如上圖一樣的效果,可以手動選擇開啟手機上符合條件的應用程式,用於程式中的一些功能,比如程式中分享功能,將手機上符合分享條件的所有程式彈出來供使用人手動選擇;再比如手機白名單的實現!
實現原理:使用Intent的隱示意圖跳轉實現,具體程式碼如下
AndroidManifest.xml中的配置:
<activity android:name=".thirdpartyActicity.OKHttpUtilsActivity"> <intent-filter> <action android:name="okhttpUtils" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity>
action中填寫自定義的名稱,這個名稱為過濾的內容之一,當兩個程式的name一樣時,在跳轉的時候,實現上述效果;
category中使用預設值即可
Activity.java中intent程式碼如下:
Intent intent = new Intent();
intent.setAction(action);
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivity(intent);
intent跳轉時會與AndroidManifest.xml中的activity的action進行對比,一致時會自動跳轉,當多個程式的action一致時,則會自動彈出選擇,
根據上述原理,也可實現本程式中,根據action不同跳轉不同的頁面,在AndroidManifest.xml中,給不同的activity配置不同的action,在跳轉位置,只需要寫幾句簡單的跳轉程式碼,即可實現自動跳轉到不同頁面!