Android應(yīng)用自動(dòng)跳轉(zhuǎn)到應(yīng)用市場(chǎng)詳情頁(yè)面的方法
前言
眾所周知在Android應(yīng)用開發(fā)過程中,可能會(huì)有需求,比如:推廣時(shí)跳轉(zhuǎn)到應(yīng)用市場(chǎng)下載應(yīng)用,跳轉(zhuǎn)到應(yīng)用市場(chǎng)給自己的應(yīng)用打分,跳轉(zhuǎn)到應(yīng)用市場(chǎng)更新自己的應(yīng)用。
那如何跳轉(zhuǎn)到應(yīng)用市場(chǎng)呢?
可能跳轉(zhuǎn)的方法大家都是知道的,方法如下:
public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); } }
此方法支持應(yīng)用寶、360手機(jī)助手、豌豆莢、小米商店等主流的應(yīng)用市場(chǎng),當(dāng)手機(jī)上面裝有多個(gè)應(yīng)用市場(chǎng)時(shí),則會(huì)彈出菜單讓用戶選擇調(diào)轉(zhuǎn)到哪個(gè)市場(chǎng)。那么,問題來了,如果這么簡(jiǎn)單就結(jié)束了,怎么還會(huì)有這篇文章呢?
在紅米Note2上測(cè)試時(shí)發(fā)現(xiàn),調(diào)用此方法默認(rèn)是直接調(diào)轉(zhuǎn)到小米市場(chǎng),那如果在小米手機(jī)上,想要跳轉(zhuǎn)到應(yīng)用寶或者其他的應(yīng)用市場(chǎng)怎么辦呢,方法自然是有的,如下:
public static void goToMarket(Context context, String packageName) { Uri uri = Uri.parse("market://details?id=" + packageName); Intent goToMarket = new Intent(Intent.ACTION_VIEW, uri); try { goToMarket.setClassName("com.tencent.android.qqdownloader", "com.tencent.pangu.link.LinkProxyActivity"); context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); } }
看起來好像和第一個(gè)方法沒什么區(qū)別,是的,只需要給多調(diào)用goToMarket.setClassName()
方法,設(shè)置指定的應(yīng)用去處理這個(gè)Intent事件,這樣就可以在小米手機(jī)上跳轉(zhuǎn)到應(yīng)用寶的應(yīng)用詳情頁(yè)面,而且,上一個(gè)方法如果在手機(jī)上裝有多個(gè)應(yīng)用市場(chǎng)時(shí),會(huì)彈出菜單讓用戶選擇,如果已經(jīng)確定好要跳轉(zhuǎn)到哪個(gè)應(yīng)用市場(chǎng)時(shí),也可使用此方法,直接跳轉(zhuǎn),省去中間用戶選擇的環(huán)節(jié)。
但是上面方法的思路似乎并不能對(duì)所有的應(yīng)用市場(chǎng)有效,哪天產(chǎn)品經(jīng)理提出要跳轉(zhuǎn)到三星的應(yīng)用市場(chǎng),畢竟三星手機(jī)在國(guó)內(nèi)的占有率還是排前幾位的,再使用上面的方法,發(fā)現(xiàn)懵逼了,三星市場(chǎng)竟然不支持這種方式,難怪三星手機(jī)在國(guó)內(nèi)市場(chǎng)節(jié)節(jié)敗退。
不過再筆者的努力下終于找到了如下方法:
public static void goToSamsungappsMarket(Context context, String packageName) { Uri uri = Uri.parse("http://www.samsungapps.com/appquery/appDetail.as?appId=" + packageName); Intent goToMarket = new Intent(); goToMarket.setClassName("com.sec.android.app.samsungapps", "com.sec.android.app.samsungapps.Main"); goToMarket.setData(uri); try { context.startActivity(goToMarket); } catch (ActivityNotFoundException e) { e.printStackTrace(); } }
不過,后來發(fā)現(xiàn)在樂視手機(jī)上面,樂視的應(yīng)用市場(chǎng)也是不支持goToMarket()
方法的,所以又專門調(diào)研了跳轉(zhuǎn)樂視應(yīng)用市場(chǎng)的方法,方法如下:
void goToLeTVStoreDetail(Context context, String packageName) { Intent intent = new Intent(); intent.setClassName("com.letv.app.appstore", "com.letv.app.appstore.appmodule.details.DetailsActivity"); intent.setAction("com.letv.app.appstore.appdetailactivity"); intent.putExtra("packageName", packageName); context.startActivity(intent); }
總結(jié)
好了,以上就是這篇文章的全部?jī)?nèi)容了以上的方法希望能幫助到有需要的人。如果有疑問大家可以留言交流。
相關(guān)文章
Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果
這篇文章主要介紹了為大家詳細(xì)介紹了如何通過Android實(shí)現(xiàn)循環(huán)輪播跑馬燈的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05使用Flutter實(shí)現(xiàn)一個(gè)走馬燈布局的示例代碼
這篇文章主要介紹了使用 Flutter 實(shí)現(xiàn)一個(gè)走馬燈布局的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11Android ScrollView滑動(dòng)實(shí)現(xiàn)仿QQ空間標(biāo)題欄漸變
這篇文章主要為大家詳細(xì)介紹了Android ScrollView滑動(dòng)實(shí)現(xiàn)仿QQ空間標(biāo)題欄漸變,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08Android 自定義圓形帶刻度漸變色的進(jìn)度條樣式實(shí)例代碼
這篇文章主要介紹了Android 自定義圓形帶刻度漸變色的進(jìn)度條的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11Android5.1 取消錄制屏幕跳出的權(quán)限對(duì)話框問題
這篇文章主要介紹了Android5.1 取消錄制屏幕跳出的權(quán)限對(duì)話框問題,需要的朋友可以參考下2017-04-04Android編程實(shí)現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法,涉及Android EditText文本框事件監(jiān)聽與響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-02-02