如何在应用程序中放置市场链接?

时间:2011-09-16 13:13:25

标签: java android

在我的应用程序中,我想要点击“点击这里”,“HERE”是市场上应用程序的链接。

所以我做完了:

TextView link = (TextView) findViewById(R.id.appbrain);
            link.setText("market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT");
            Linkify.addLinks(link, Linkify.ALL);

但这不起作用。我该怎么办?

3 个答案:

答案 0 :(得分:2)

使用链接的网络版:http://market.android.com/details?id=<package name>。用户将被提示是否要在浏览器或市场应用程序中打开链接,或者如果他们已经选择了默认值,它将立即打开。

你也可以使用一些HTML并设置TextView的文本,如下所示:

textView.setText(Html.fromHtml("<a href=\"market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT\">CLICK HERE</a>"));

答案 1 :(得分:1)

您只需定义一个模式,因为此URL是为市场应用程序定义的自定义。

 Pattern appWordMatcher = Pattern.compile("\\b[A-Z]+[a-z0-9]+[A-Z][A-Za-z0-9]+\\b");
 String appMarketURL = "market://details?id=com.appspot.swisscodemonkeys.apps&hl=pt_PT";
 Linkify.addLinks(txtView, appWordMatcher, appMarketURL);

有关详细信息,请参阅WikiNotes: Linkify your Text!

答案 2 :(得分:1)

好的,两个答案都是正确的;两者的问题是链接不可点击。但是,我发现了这个问题。

当我们想要(直接)链接URL时,我们只需要这样做:

TextView link = (TextView) findViewById(R.id.url);
        link.setText("http://google.pt");
        Linkify.addLinks(link, Linkify.ALL);

但是当我们想要“玩”我们需要使用的链接时(如另一个答案所述)我们可以使用HTML:

TextView link = (TextView) findViewById(R.id.appbrain);
            link.setText(Html.fromHtml("" +
                    "- Download <a href=\"https://market.android.com/details?id=com.appspot.swisscodemonkeys.apps\">Appbrain</a>" +
                    " to update all your apps!"));

即使我们使用以下代码,该链接也不会被点击。

Linkify.addLinks(link, Linkify.ALL);

解决方案只是使用以下代码:

link.setMovementMethod(LinkMovementMethod.getInstance());