试图在Play商店中打开一个应用程序(android)

时间:2017-01-09 01:43:53

标签: nativescript

我正试图将用户引导到游戏商店。

import app = require("application");

var intent = new android.content.Intent("android.intent.action.VIEW" );

intent.setData( "market://details?id=MY.APP.LINK" );

app.android.currentContext.startActivity(intent);

以上不起作用!

我认为问题与我从Java代码转换为{N}可以使用的东西有关。

2 个答案:

答案 0 :(得分:0)

@Brad Martin在评论中给出了答案,但为了便于阅读,我添加了这个答案,因为我需要这个片段。还没试过iOS部分。

以下是我使用TypeScript的代码。

首先,在导入

中添加这些行
import * as application from "application";
import * as Utility from "utils/utils";
declare var android: any;

然后,你可以使用像Android这样的功能

gotoPlayStore() {
    let androidPackageName = application.android.packageName;
    let uri = android.net.Uri.parse("market://details?id=" + androidPackageName);
    let myAppLinkToMarket = new android.content.Intent(android.content.Intent.ACTION_VIEW, uri);
    // Launch the PlayStore
    application.android.foregroundActivity.startActivity(myAppLinkToMarket);
}

您可以将此代码用于iOS设备

gotoAppStore() {
    let appStore = "";
    appStore = "itms-apps://itunes.apple.com/en/app/id" + myAppId;
    Utility.openUrl(appStore);
}
  

此代码基于Nic Raboy的插件nativescript-rating和此特定文件:https://github.com/nraboy/nativescript-ratings/blob/master/ratings.ts

     

您可能会在Android上遇到此错误:错误错误:android.content.ActivityNotFoundException:找不到处理Intent的活动{act = android.intent.action.VIEW dat = market:// details?id = your .package.id} ,但它正在真实设备上运行,因为Play Store应用程序正在其上运行。

答案 1 :(得分:0)

这对我有用:



            try
            {
                let uri = android.net.Uri.parse( "market://details?id=com.company" );

                var intent = new android.content.Intent( android.content.Intent.ACTION_VIEW, uri );

                application.android.foregroundActivity.startActivity( intent );
            }
            catch ( e2 )
            {
                console.error( "Error =" + e2.message + "=" );
            }