12

アプリケーションを作成しました。Rate Us 機能を実装したいと思います。そのために、このコードをアプリに追加しました

i = new Intent(Intent.ACTION_VIEW , Uri.parse("market://details?id=com.bet.compny"));
startActivity(i);
break;

しかし、レートのボタンをクリックすると、強制的に近づきます。これが私のログ猫の出力です。

android.content.ActivityNotFoundException: No Activity found to handle Intent {     
act=android.intent.action.VIEW dat=market://details?id=com.bet.compny }

どんな助けでも感謝します。

4

9 に答える 9

20

エラーが発生する理由はわかりますが、これは実際には機能するはずです。私もこのようにします:

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + APP_PNAME)));

ただし、プレイストアのないエミュレータ/デバイスでテストしている場合、これはクラッシュすることに注意してください。したがって、try and catchでラップすることをお勧めします

于 2012-10-21T13:48:43.283 に答える
7

私は常に以下のコードを使用しています。これは私たちにとって便利です:

Intent rateIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + context.getPackageName())); 
startActivity(rateIntent);

それはあなたのために完全に役立つと思います。

于 2014-11-20T11:31:06.487 に答える
2

これが最善の方法です。

Appirater は、Arash Payan Appirater iPhone によるオリジナルの Appirater に基づいた Android ライブラリです。目標は、Android マーケットでアプリをレビューするようユーザーに思い出させるのに役立つ、どの Android アプリにもドロップできる、きれいに設計されたアプリ レーティング プロンプトを作成することです。

https://github.com/sbstrm/appirater-android

于 2012-10-21T13:34:18.907 に答える
2
try {
    Uri marketUri = Uri.parse("market://details?id=" + getPackageName());
    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
    startActivity(marketIntent);
}catch(ActivityNotFoundException e) {
    Uri marketUri = Uri.parse("https://play.google.com/store/apps/details?id=" + getPackageName());
    Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
    startActivity(marketIntent);
}
于 2017-05-16T07:55:18.823 に答える
1

ベストでシンプルなコード

private final String mStoreLink;

アクティビティがなければコンテキスト/アクティビティが必要

 this.mStoreLink = "market://details?id=" + activity.getPackageName();

このようなメソッドを作成します。

public void rateUsOnGooglePlay() {
        final Uri marketUri = Uri.parse(mStoreLink);
        try {
            activity.startActivity(new Intent(Intent.ACTION_VIEW, marketUri));
        } catch (android.content.ActivityNotFoundException ex) {
            Toast.makeText(activity, "Couldn't find PlayStore on this device", Toast.LENGTH_SHORT).show();
        }
    }
于 2021-04-28T03:32:24.533 に答える
0

このコードをエミュレーターでテストしたと思いますが、エミュレーターには plastore アプリケーションがないため、このエラーが発生しました。

私はこれを実装しましたが、私のコードは次のようになります。

startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=applicationID of play sotre")));

以下のコードに try catch を入れてください。

Androidデバイスでこのコードを試してください。

于 2013-12-23T07:53:28.993 に答える
0
Uri marketUri = Uri.parse("market://details?id=" + packageName);
Intent marketIntent = new Intent(Intent.ACTION_VIEW, marketUri);
startActivity(marketIntent);
于 2014-03-18T12:47:10.603 に答える
0

これは通常、Google Play ストアのないデバイスで発生します

于 2012-10-21T13:56:35.193 に答える