溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android打開淘寶客戶端(手淘)效果及實現(xiàn)代碼

發(fā)布時間:2020-10-09 19:48:42 來源:腳本之家 閱讀:458 作者:Fly_li_sir 欄目:移動開發(fā)

隱式調(diào)用的方法就不講了,如果安裝了手淘的SDK或阿里百川之類的東西請參考官方文檔,有了文檔這些都不是問題。

一.應用內(nèi)打開

應用內(nèi)部調(diào)用淘寶,當展示”最近運行的應用“時只會顯示一個應用,前提是安裝了淘寶客戶端。

 效果圖:

Android打開淘寶客戶端(手淘)效果及實現(xiàn)代碼 

 首先判斷應用是否安裝:

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://h6.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);
}

應用內(nèi)打開淘寶后直接點擊內(nèi)部的按鈕會直接打開外部淘寶。

二.應用外部打開

應用外部打開是指直接喚起淘寶客戶端,并展示相應的頁面,當展示”最近運行的應用“時時,會顯示當前應用和淘寶客戶端兩個應用。

 效果圖:

Android打開淘寶客戶端(手淘)效果及實現(xiàn)代碼 

 首先判斷應用是否安裝:

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://h6.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);
}

此時的url前綴必須是”taobao://”,不可以是”https://”,否則達不到效果,網(wǎng)上有些案例要加上一句:

intent2.setClassName("com.taobao.taobao", "com.taobao.android.shop.activity.ShopHomePageActivity");

本來這個是好用的,但是我用的時候會顯示”店鋪不存在”,后來發(fā)現(xiàn)不用這個,直接指定url前綴為”taobao://”,即可,加上這句就會顯示店鋪不存在,但是實際上你打開淘寶,在AS中進入adb shell,輸入dumpsys activity activities,還是可以看到ShopHomePageActivity這個Activity的,只是達不到我們想要的效果。

另外:通過指定Flag也是可以打開新的界面的:

intent2.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

總結(jié)

以上所述是小編給大家介紹的Android打開淘寶客戶端(手淘)效果及實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI