Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to open the Huawei AppGallery directly?

I know that is possible to open my app (based on package name) in Google Play Store, but how to do same in Huawei AppGallery?

like image 362
Michalsx Avatar asked Dec 10 '18 12:12

Michalsx


People also ask

Is Huawei App Gallery same as Play Store?

As you'll hear, Huawei's App Gallery is quite different from Google's Play Store in terms of what it offers but it's no fledgeling - the store has more than 580 million active users that return to the store every month, with 42 countries having more than 1 million users.

Can I use Huawei App Gallery?

AppGallery is the official app distribution platform for Huawei devices. It can also run on most Android-based phones/tablet brands (running Android 5.0 or later).

Why is my AppGallery not working?

Make sure AppGallery is updated to the latest version. Go to AppGallery > Me > Check for updates to check if AppGallery can be updated. Go to Settings > Apps > Apps > AppGallery > Storage to clear the cache and data. Restart your phone and restart AppGallery.


1 Answers

Opening your app in the Huawei App Gallery is similar to opening Google Play Store:

Huawei App Gallery uses its own scheme appmarket://:

  • Scheme: appmarket://
  • Package: com.huawei.appmarket

vs. Google Play Store:

  • Scheme: market://
  • Package: com.android.vending

Here is a snippet for the Huawei App Gallery:

private void startHuaweiAppGallery() {     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("appmarket://details?id=" + getPackageName()));     List<ResolveInfo> otherApps = getPackageManager().queryIntentActivities(intent, 0);      boolean agFound = false;      for (ResolveInfo app : otherApps) {         if (app.activityInfo.applicationInfo.packageName.equals("com.huawei.appmarket")) {             ComponentName psComponent = new ComponentName(app.activityInfo.applicationInfo.packageName, app.activityInfo.name);             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);             intent.setComponent(psComponent);             startActivity(intent);              agFound = true;             break;         }     }      //Optional, Or copy the Google Play Store URL here (See below)     if (!agFound) {         //Your Huawei app ID can be found in the Huawei developer console         final string HUAWEI_APP_ID = "100864605";          //ex. https://appgallery.cloud.huawei.com/marketshare/app/C100864605         intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://appgallery.cloud.huawei.com/marketshare/app/C" + HUAWEI_APP_ID));         startActivity(intent);     } } 

Here is the snippet for Google Play:

private void startGooglePlay() {     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + getPackageName()));     List<ResolveInfo> otherApps = getPackageManager().queryIntentActivities(intent, 0);      boolean psFound = false;      for (ResolveInfo app : otherApps) {         if (app.activityInfo.applicationInfo.packageName.equals("com.android.vending")) {             ComponentName psComponent = new ComponentName(app.activityInfo.applicationInfo.packageName, app.activityInfo.name);             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);             intent.setComponent(psComponent);             startActivity(intent);              psFound = true;             break;         }     }     if (!psFound) {         intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName()));         startActivity(intent);     } } 

Edit

Huawei App Gallery now also supports the same Scheme as Google Play Store: market://com.huawei.appmarket

like image 153
Pierre Avatar answered Sep 24 '22 08:09

Pierre