2

Android アプリケーションから Amazon Kindle アプリを起動しようとしていますが、ユーザーがクリックする特定の本に基づいています。

利用可能な本と、ユーザーが選択した本を特定することはできますが、kindle アプリを起動するために (パッケージ名 com.amazon.kindle を使用して) kindle アプリケーションを起動することしかできませんでした。

開く本を指定するために送信できる追加のコマンドを知っている人はいますか? ユーザーがブーイングを選択するウィジェットがGoogle Playストアにあり、ホームスクリーンにkindleアプリを起動して本を開くボタンを作成するため、これが可能であることはわかっています。

前もって感謝します!

4

1 に答える 1

1

まず、インテントをインテントに設定する必要がありACTION_VIEWます。

次に、実際にはkindle://book/?action=open&book_id=AMZNID0/B000FC1GHO/0/Uriのようなリンクであるデータの を定義する必要があります。この場合、セクション B000FC1GHO は、本。

最後に、アクティビティを開始できます。私の場合、新しいアクティビティを開始するために、インテントにいくつかのフラグを設定する必要がありました。

私が使用しているコードは次のとおりです。

if(intent.getAction().contains("BOOK_ACTION_"))
    {
        Log.w("LOG", "We have a book selected");

        bookID = intent.getAction().substring(12);
        Log.w("LOG", bookID);

        Intent readbook = new Intent(Intent.ACTION_VIEW);
        readbook.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        Uri file = Uri.parse("kindle://book/?action=open&book_id=AMZNID0/" + bookID + "/0/");
        readbook.setData(file);
        context.startActivity(readbook);

    }

この場合、メソッドをオーバーライドしてonReceive、各本で追加の手順を実行できるようにします。おそらく、ACTION_VIEW意図を設定しているだけなので、これは、必要な本を保持するonClickListenerための処理を行う他のクラスのハンドルである可能性があります。imageview

于 2012-08-03T01:57:03.530 に答える