我正在为Android应用程序开发一个简化版。如何启动一个Intent来打开Android市场,最好是显示我的应用程序的完整版本?这在模拟器上很难测试(这是我拥有的最接近设备的东西),因为似乎没有合法的方法在模拟器上安装市场。
那个查询语句是有效的,但在我尝试时,它似乎是基于名称带出了搜索结果。
如果你使用类似以下的内容
intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad"));
相反,它会直接跳转到您应用程序的Android市场页面。
我认为这更符合您的要求(?)
最终找到了答案:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("market://search?q=pname:MyApp"));
startActivity(intent);
然而,在模拟器上没有测试的方法。
你好,我尝试着做同样的事情,但有一个小区别:
我不想在我的应用程序中嵌入它。
public void start(JSONArray args, CallbackContext callback) {
Intent launchIntent;
String packageName;
String activity;
String uri;
ComponentName comp;
try {
packageName = args.getString(0); //com.android.vending
activity = args.getString(1); //com.google.android.finsky.activities.LaunchUrlHandlerActivity
uri = args.getString(2); //'market://details?id=com.triplingo.enterprise'
launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName);
comp = new ComponentName(packageName, activity);
launchIntent.setComponent(comp);
launchIntent.setData(Uri.parse(uri));
this.cordova.getActivity().startActivity(launchIntent);
callback.success();
} catch (Exception e) {
callback.error(e.toString());
}
}
launchIntent = this.cordova.getActivity().getPackageManager().getLaunchIntentForPackage(packageName);
comp = new ComponentName(packageName, activity);
launchIntent.setComponent(comp);
launchIntent.setData(Uri.parse(uri));
致敬