簡體   English   中英

如何在應用程序中放置市場鏈接?

[英]How to place a Market link inside an App?

在我的應用程序中,我希望有一些類似“點擊此處”的內容,其中“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);

但這不起作用。 我應該怎么做?

使用鏈接的Web版本: http://market.android.com/details?id=<package name>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>"));

您只需定義一個模式,因為此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:鏈接您的文本!

好的,兩個答案都是正確的; 兩者的問題是鏈接不可點擊。 但是,我發現了這個問題。

當我們想要(直接)鏈接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());

另一個選擇是只創建一個按鈕或可單擊的文本字段,然后從那里啟動一個活動。

  try
  {
      startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.mypackage.myapp")));
  } catch (ActivityNotFoundException e) {
      Toast.makeText(this, "Cannot load Play Store", Toast.LENGTH_SHORT).show();
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM