Android打開淘寶客戶端(手淘)效果及實(shí)現(xiàn)代碼
隱式調(diào)用的方法就不講了,如果安裝了手淘的SDK或阿里百川之類的東西請(qǐng)參考官方文檔,有了文檔這些都不是問題。
一.應(yīng)用內(nèi)打開
應(yīng)用內(nèi)部調(diào)用淘寶,當(dāng)展示”最近運(yùn)行的應(yīng)用“時(shí)只會(huì)顯示一個(gè)應(yīng)用,前提是安裝了淘寶客戶端。
效果圖:
首先判斷應(yīng)用是否安裝:
private boolean isAppInstalled(Context context, String uri) { PackageManager pm = context.getPackageManager(); boolean installed = false; try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); installed = true; } catch (PackageManager.NameNotFoundException e) { installed = false; } return installed; }
打開商品詳情頁:
String url2 = "https://h5.m.taobao.com/awp/core/detail.htm?id=xxxxxxxxxxxx"; if (isAppInstalled(this, "com.taobao.taobao")) { Intent intent2 = new Intent(); intent2.setAction("android.intent.action.VIEW"); Uri uri = Uri.parse(url2); intent2.setData(uri); startActivity(intent2); }
應(yīng)用內(nèi)打開淘寶后直接點(diǎn)擊內(nèi)部的按鈕會(huì)直接打開外部淘寶。
二.應(yīng)用外部打開
應(yīng)用外部打開是指直接喚起淘寶客戶端,并展示相應(yīng)的頁面,當(dāng)展示”最近運(yùn)行的應(yīng)用“時(shí)時(shí),會(huì)顯示當(dāng)前應(yīng)用和淘寶客戶端兩個(gè)應(yīng)用。
效果圖:
首先判斷應(yīng)用是否安裝:
private boolean isAppInstalled(Context context, String uri) { PackageManager pm = context.getPackageManager(); boolean installed = false; try { pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES); installed = true; } catch (PackageManager.NameNotFoundException e) { installed = false; } return installed; }
打開商品詳情頁:
String url2 = "https://h5.m.taobao.com/awp/core/detail.htm?id=xxxxxxxxxxxx"; if (isAppInstalled(this, "com.taobao.taobao")) { Intent intent2 = getPackageManager().getLaunchIntentForPackage("com.taobao.taobao"); //這行代碼比較重要 intent2.setAction("android.intent.action.VIEW"); intent2.setClassName("com.taobao.taobao", "com.taobao.tao.detail.activity.DetailActivity"); Uri uri = Uri.parse(url2); intent2.setData(uri); startActivity(intent2); }
打開店鋪:
String url2 = "taobao://shopxxxxxxxxx.m.taobao.com"; //注意前綴是"taobao://",不是"https://" if (isAppInstalled(this, "com.taobao.taobao")) { Intent intent2 = new Intent(); intent2.setAction("android.intent.action.VIEW"); Uri uri = Uri.parse(url2); intent2.setData(uri); startActivity(intent2); }
此時(shí)的url前綴必須是”taobao://”,不可以是”https://”,否則達(dá)不到效果,網(wǎng)上有些案例要加上一句:
intent2.setClassName("com.taobao.taobao", "com.taobao.android.shop.activity.ShopHomePageActivity");
本來這個(gè)是好用的,但是我用的時(shí)候會(huì)顯示”店鋪不存在”,后來發(fā)現(xiàn)不用這個(gè),直接指定url前綴為”taobao://”,即可,加上這句就會(huì)顯示店鋪不存在,但是實(shí)際上你打開淘寶,在AS中進(jìn)入adb shell,輸入dumpsys activity activities
,還是可以看到ShopHomePageActivity這個(gè)Activity的,只是達(dá)不到我們想要的效果。
另外:通過指定Flag也是可以打開新的界面的:
intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
總結(jié)
以上所述是小編給大家介紹的Android打開淘寶客戶端(手淘)效果及實(shí)現(xiàn)代碼,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Android將應(yīng)用調(diào)試log信息保存在SD卡的方法
Android將應(yīng)用調(diào)試log信息保存在SD卡的方法大家都知道嗎,下面腳本之家小編給大家分享Android將應(yīng)用調(diào)試log信息保存在SD卡的方法,感興趣的朋友參考下2016-04-04Android Studio如何為Activity添加自定義注解信息
好久沒用寫文章了,今天給大家分享Android Studio如何為Activity添加自定義注解信息,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06Android 開發(fā)之Dialog中隱藏鍵盤的正確使用方法
這篇文章主要介紹了Android 開發(fā)之Dialog中隱藏鍵盤的正確使用方法的相關(guān)資料,主要說明Dialog 隱藏鍵盤的注意事項(xiàng),需要的朋友可以參考下2017-09-09Android checkbox的listView具體操作方法
這篇文章主要介紹了Android checkbox的listView具體操作方法,重點(diǎn)就是存儲(chǔ)每個(gè)checkbox的狀態(tài)值,感興趣的小伙伴們可以參考一下2015-12-12Android ViewPager與radiogroup實(shí)現(xiàn)關(guān)聯(lián)示例
本篇文章主要介紹了Android ViewPager與radiogroup實(shí)現(xiàn)關(guān)聯(lián)示例,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-03-03Android實(shí)現(xiàn)定時(shí)器的3種方法
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)定時(shí)器的3種方法,感興趣的小伙伴們可以參考一下2016-07-07Android中Market的Loading效果實(shí)現(xiàn)方法
這篇文章主要介紹了Android中Market的Loading效果實(shí)現(xiàn)方法,較為詳細(xì)的分析了Android中l(wèi)oading效果的相關(guān)布局及功能實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10Android實(shí)現(xiàn)跑馬燈效果的兩種簡單方式
這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)跑馬燈的兩種簡單方式,文中介紹了兩種方法,分別說了每個(gè)方法的優(yōu)缺點(diǎn),需要的朋友可以選擇性使用,下面來一起看看吧2021-07-07