如何从Android打开kindle eBook?

时间:2012-08-02 14:27:55

标签: android kindle

我正在尝试从我的Android应用程序启动亚马逊Kindle应用程序,但是基于用户点击的特定书籍。

我能够确定可用的书籍和用户选择的书籍,但我只能启动kindle应用程序(使用包名com.amazon.kindle)来启动kindle应用程序。

有没有人知道我可以发送任何其他命令来指定要打开的书?我知道这是可能的,因为Google Play商店中有一个小部件,用户选择一个小工具,它会在主屏幕上创建一个按钮,启动kindle应用程序并打开书。

提前致谢!

1 个答案:

答案 0 :(得分:1)

首先,我们需要将意图设置为ACTION_VIEW意图。

然后我们需要为数据定义Uri,这实际上是一个类似于以下内容的链接: kindle:// book /?action = open&amp; book_id = AMZNID0 / B000FC1GHO / 0 / < / strong>,在这种情况下,B000FC1GHO部分对应于图书的ID。

最后我们可以开始活动。在我的情况下,我必须在启动新活动的意图上设置一些标志。

我正在使用的代码如下:

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