I know that is possible to open my app (based on package name) in Google Play商店,但是如何在Huawei AppGallery中做同样的事情?
答案 0 :(得分:3)
我同意@Pierre
但是我也认为您可以通过链接解决活动
https://appgallery8.huawei.com/#/app/C<HUAWEI_APP_ID>
或
https://appgallery.cloud.huawei.com/uowap/index.html#/detailApp/C<HUAWEI_APP_ID>?appId=C<HUAWEI_APP_ID>
例如https://appgallery.cloud.huawei.com/uowap/index.html#/detailApp/C101652909?appId=C101652909
答案 1 :(得分:2)
在华为App Gallery商店中打开应用的简单方法:
public void reviewApp(String packageName){
try {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("appmarket://details?id=" + packageName));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
} catch (ActivityNotFoundException anfe) {
Toast.makeText(this, "Huawei AppGallery not found!", Toast.LENGTH_SHORT).show();
}
}
然后从您的活动中调用它:
reviewApp(this.getPackageName());
或:
reviewApp("com.myapp.android");
答案 2 :(得分:1)
您可以使用the badge service provided by HUAWEI AppGallery来推广您的应用程序,包括准备制作徽章的材料,配置应用程序链接以及获取引荐来源网址统计信息。借助该服务,您可以有效地收集有关AppGallery中应用下载的统计信息,并为用户提供静默安装服务,以提高促销效果。
当用户在频道中点击您的徽章时,该用户将被重定向到AppGallery上的您的应用程序详细信息页面。用户可以点击安装以自动下载并安装您的应用。
答案 3 :(得分:1)
通过包名称启动 Play 商店/AppGallery。
private boolean openInStore(String uri){
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED | Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(Intent.createChooser(intent,getString(R.string.open_with)));
return true;
} catch (ActivityNotFoundException anfe) {
return false;
}
}
private void startOpenInStore() {
String playStoreScheme = "market://details?id=", huaweiScheme = "appmarket://details?id=";
if (!openInStore(playStoreScheme+getPackageName())) {
if (!openInStore(huaweiScheme + getPackageName())) {
openInStore("https://play.google.com/store/apps/details?id=" + getPackageName());
}
}
}
答案 4 :(得分:1)
如果您的应用已经在华为应用市场上发布,那么您可以直接使用这个网址打开应用。
https://appgallery.huawei.com/#/app/C27162
您可以将 appid 替换为您自己的 appid。
https://appgallery.cloud.huawei.com/appDetail?pkgName=com.huawei.appmarket
你可以用你自己的包名替换包名。
希望对您有所帮助。
答案 5 :(得分:1)
似乎华为应用程序库现在可以使用适用于 Google Play 的相同 URI 打开详细信息页面:market://details?id=<applicationId>
我刚刚在 AppGallery v11.1.2.304 上试用了它,其中 applicationId 存在于两个商店中:
adb shell am start -a "android.intent.action.VIEW" -d "market://details?id=busu.blackscreenbatterysaver"
答案 6 :(得分:0)
好,兄弟。您可以使用软件包名称。 com.huawei.appmarket并使用Intent。这里有一个类似的问题。 Launch an application from another application on Android
无论做什么都祝您好运
答案 7 :(得分:0)
在Huawei App Gallery中打开您的应用程序类似于打开Google Play商店。
以下是华为应用程序库的摘录:
private void startHuaweiAppGallery() {
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("appmarket://details?id=" + getPackageName()));
List<ResolveInfo> otherApps = getPackageManager().queryIntentActivities(intent, 0);
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);
break;
}
}
}
以下是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);
}
}
如您在Google Snippet中看到的那样,如果未找到Play应用,请直接在客户端的浏览器中打开网址。不幸的是,我还不知道华为的在线商店.....
就我而言,我的应用程序托管在两个商店中,因此我也将Google Play浏览器部分也复制到了华为代码段中。
答案 8 :(得分:0)
关于如何链接到AppGallery上的应用程序详细信息页面或应用程序列表页面:
•您引用的链接:here指向应用程序详细信息页面。华为确实通过AppGallery上的徽章服务支持应用程序详细信息页面。换句话说,您可以将Google链接替换为华为徽章链接。您可以在here
处获取徽章服务的详细信息•对于在AppGallery上列出的应用,除部分受邀开发人员外,华为尚未向所有开发人员开放该功能。
希望获得帮助,并让我知道是否有任何问题。
答案 9 :(得分:0)
以下是直接启动App Gallery的方法:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri.Builder uriBuilder = Uri.parse("https://appgallery.cloud.huawei.com/ag").buildUpon();
intent.setData(uriBuilder.build());
intent.setPackage("com.huawei.appmarket");
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
答案 10 :(得分:0)
我认为最短和最简单的方法是运行这个简单的链接:
https://appgallery.cloud.huawei.com/ag/n/app/
无需进行任何配置,其余将由华为自动处理。
如何获取 YOUR_APP_ID?
C5683
希望这有帮助!欣赏~