当用户单击textview上提供的超链接时,在Google Play上打开应用程序

时间:2014-02-26 09:26:57

标签: android

以下是我在google paly上打开应用的代码。

    final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
    try {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
    } catch (Exception e) {
        Log.d(tag,"Message ="+e);

        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
    }

我在textview的最后一个文本中提供了超链接。当用户点击超链接时,我可以在google paly上打开一个应用程序。

2 个答案:

答案 0 :(得分:1)

在xml中使用以下代码

<TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:text="<market_url>"
    android:id="@+id/openPlaystore"
    android:autoLink="all"
    android:linksClickable="true">
</TextView>

OR

OnClickListener添加到textview

TextView tv = (TextView)findViewById(R.id.openPlaystore);
tv.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object
                try {
                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName)));
                } catch (Exception e) {
                    Log.d(tag,"Message ="+e);

                    startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("http://play.google.com/store/apps/details?id=" + appPackageName)));
                }
            }
        });

答案 1 :(得分:0)

我有一个应用程序,我也这样做...我使用此代码:

tv.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v)
    {
        TextView tv = (TextView)v;
        if(! (tv.getSelectionStart()==-1 && tv.getSelectionEnd()==-1))
            // Fired only when you touch the part of the text that is hyperlinked 
            // do something
    }

请注意,仅当您已成功让TextView显示超链接时,此方法才有效。此外,您通常不需要任何代码,因为TextView会自动解析超链接,但此代码允许您进行其他处理。