Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从应用启动安卓市场_Java_Android - Fatal编程技术网

Java 从应用启动安卓市场

Java 从应用启动安卓市场,java,android,Java,Android,我正在为Android上的一个应用程序开发一个精简版。我如何开始打开安卓市场的意图,最好是显示我的应用程序的完整版本?这很难在模拟器上测试(这是我拥有的最接近设备的东西),因为似乎没有合法的方法在其上安装市场。最终找到了答案: Intent intent = new Intent(Intent.ACTION_VIEW); intent.setData(Uri.parse("market://search?q=pname:MyApp")); startActivity(intent); in

我正在为Android上的一个应用程序开发一个精简版。我如何开始打开安卓市场的意图,最好是显示我的应用程序的完整版本?这很难在模拟器上测试(这是我拥有的最接近设备的东西),因为似乎没有合法的方法在其上安装市场。

最终找到了答案:

Intent intent = new Intent(Intent.ACTION_VIEW); 
intent.setData(Uri.parse("market://search?q=pname:MyApp")); 
startActivity(intent);
intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 

不过,无法在emulator上进行测试

上面的查询是有效的,但当我尝试它时,它看起来像是在根据名称显示搜索结果

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
如果你使用类似

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
相反,它将直接进入你的应用程序的Android Market页面

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 

我想这正是你想要的(?)

嗨,我试着实现同样的目标,但有一点不同

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
我不想在我的应用程序中打开它

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
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));
这里最大的区别在于,你启动了一个新的应用程序,而不仅仅是在你的应用程序中显示GOOGLE PLAY 应用程序

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
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));
这段代码是Cordova插件的一部分,但很明显,要在本地使用它,您需要做些什么

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
重要线路

intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad")); 
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));

问候

非常感谢,伙计。。我想knw如果有一个开发人员打开更多应用程序的Url????Url打开应用程序。。可以选择查看更多应用程序。。我想要那个的URL:)是的,有,出版指南中有描述。使用以下命令:market://search?q=pub:This 在同一个应用程序的视图中打开市场,要真正单独打开市场,请看我的答案。我可以设置任何标志,以防止google play显示我的应用程序的打开按钮。这一个打开了同一个应用程序的市场,要真正单独打开市场,请看我的答案。开发者呢?如何打开所有应用程序的开发人员名称??
intent.setData(Uri.parse("market://details?id=com.wolinlabs.SuperScorepad"));