5

webview に market:// リンクであるリンクがいくつかあります。ユーザーがそれらをタップすると、ページが見つからないというエラーが表示されます。

market:// で始まるすべてのリンクがタップされたときに Google Play ストアが自動的に開くようにするにはどうすればよいですか? 私は試した:

final Intent intent = new Intent("android.intent.action.VIEW");
            intent.setData(Uri.parse("market://details?id="));
            startActivity(intent);
        }

しかし、それは何もしなかったようです。私はこれにかなり慣れていないので、助けていただければ幸いです。また、参考までに、market:// リンクを play.google.com に自分で変更することはできません。それらは私の広告主からのものです。

とにかく、このコードに含めることができますか:

public boolean shouldOverrideUrlLoading(WebView paramWebView, String paramString) {
        if (DEBUG)
            Log.e("shouldOverride", paramString);
        if (Uri.parse(paramString).getHost()!=null && (!Uri.parse(paramString).getHost().equals("market.android.com")) && (!paramString.contains("facebook.com")) && (!Uri.parse(paramString).getHost().contains("twitter.com")) && (!Uri.parse(paramString).getHost().equals("play.google.com"))
                && (!Uri.parse(paramString).getHost().contains("bit.ly")) && (!Uri.parse(paramString).getHost().contains("plus.google.com")) && (!Uri.parse(paramString).getHost().contains("youtube.com"))){
            if(isAppOrGamePage(paramString)){
                final Intent intent = new Intent(MainActivity.this, PageActivity.class);
                intent.putExtra("app_url", paramString);
                startActivity(intent);
            } else
                return false;
        } else {
            final Intent intent = new Intent("android.intent.action.VIEW", Uri.parse(paramString));
            startActivity(intent);
        }

        return true;
    }
}
4

3 に答える 3

1

このコードを次のように使用することもできます。

// It will not work in android simulator as it does not have Google Play Store
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+APP_ID)));
于 2013-01-28T05:51:58.727 に答える