我正在尝试从我的android应用程序启动Amazon Kindle应用程序,但基于用户点击的特定书籍。
我能够确定可用的图书以及用户选择的图书,但我只能启动kindle应用程序(使用包名称com.amazon.kindle)来启动kindle应用程序。
有人知道我可以发送什么额外的命令来指定要打开的书吗?我知道这是可能的,因为google play商店上有一个小工具,用户在其中选择一个boo,它会在主屏幕上创建一个按钮,启动kindle应用程序并打开图书。
提前感谢!
发布于 2012-08-03 09:57:04
首先,我们需要将intent设置为ACTION_VIEW intent。
然后,我们需要为数据定义一个Uri,它实际上是一个类似于:kindle://book/?action=open&book_id=AMZNID0/B000FC1GHO/0/,的链接,在本例中,小节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意图,所以这可能是在为保存我想要的书的imageview执行onClickListener的另一个类中处理的。
https://stackoverflow.com/questions/11779584
复制相似问题