Android應(yīng)用自動跳轉(zhuǎn)到應(yīng)用市場詳情頁面的方法
前言
眾所周知在Android應(yīng)用開發(fā)過程中,可能會有需求,比如:推廣時跳轉(zhuǎn)到應(yīng)用市場下載應(yīng)用,跳轉(zhuǎn)到應(yīng)用市場給自己的應(yīng)用打分,跳轉(zhuǎn)到應(yīng)用市場更新自己的應(yīng)用。
那如何跳轉(zhuǎn)到應(yī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手機助手、豌豆莢、小米商店等主流的應(yīng)用市場,當(dāng)手機上面裝有多個應(yīng)用市場時,則會彈出菜單讓用戶選擇調(diào)轉(zhuǎn)到哪個市場。那么,問題來了,如果這么簡單就結(jié)束了,怎么還會有這篇文章呢?
在紅米Note2上測試時發(fā)現(xiàn),調(diào)用此方法默認(rèn)是直接調(diào)轉(zhuǎn)到小米市場,那如果在小米手機上,想要跳轉(zhuǎn)到應(yīng)用寶或者其他的應(yī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(); } }
看起來好像和第一個方法沒什么區(qū)別,是的,只需要給多調(diào)用goToMarket.setClassName()
方法,設(shè)置指定的應(yīng)用去處理這個Intent事件,這樣就可以在小米手機上跳轉(zhuǎn)到應(yīng)用寶的應(yīng)用詳情頁面,而且,上一個方法如果在手機上裝有多個應(yīng)用市場時,會彈出菜單讓用戶選擇,如果已經(jīng)確定好要跳轉(zhuǎn)到哪個應(yīng)用市場時,也可使用此方法,直接跳轉(zhuǎn),省去中間用戶選擇的環(huán)節(jié)。
但是上面方法的思路似乎并不能對所有的應(yīng)用市場有效,哪天產(chǎn)品經(jīng)理提出要跳轉(zhuǎn)到三星的應(yīng)用市場,畢竟三星手機在國內(nèi)的占有率還是排前幾位的,再使用上面的方法,發(fā)現(xiàn)懵逼了,三星市場竟然不支持這種方式,難怪三星手機在國內(nèi)市場節(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)在樂視手機上面,樂視的應(yīng)用市場也是不支持goToMarket()
方法的,所以又專門調(diào)研了跳轉(zhuǎn)樂視應(yī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é)
好了,以上就是這篇文章的全部內(nèi)容了以上的方法希望能幫助到有需要的人。如果有疑問大家可以留言交流。
相關(guān)文章
Android實現(xiàn)循環(huán)輪播跑馬燈的效果
這篇文章主要介紹了為大家詳細(xì)介紹了如何通過Android實現(xiàn)循環(huán)輪播跑馬燈的效果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-05-05Android ScrollView滑動實現(xiàn)仿QQ空間標(biāo)題欄漸變
這篇文章主要為大家詳細(xì)介紹了Android ScrollView滑動實現(xiàn)仿QQ空間標(biāo)題欄漸變,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-08-08Android5.1 取消錄制屏幕跳出的權(quán)限對話框問題
這篇文章主要介紹了Android5.1 取消錄制屏幕跳出的權(quán)限對話框問題,需要的朋友可以參考下2017-04-04Android編程實現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法
這篇文章主要介紹了Android編程實現(xiàn)EditText字?jǐn)?shù)監(jiān)聽并顯示的方法,涉及Android EditText文本框事件監(jiān)聽與響應(yīng)相關(guān)操作技巧,需要的朋友可以參考下2017-02-02