我正嘗試從我的android應用程序啓動亞馬遜Kindle應用程序,但是基於用戶單擊的特定書籍。如何從Android打開kindle電子書?
我可以確定可用書籍以及用戶選擇了哪本書,但我只能啓動kindle應用程序(使用包名稱com.amazon.kindle)來啓動kindle應用程序。
有誰知道任何額外的命令,我可以發送指定一本書打開?我知道這是可能的,因爲在谷歌播放商店有一個小部件,用戶選擇一個噓聲,它會在主屏幕上創建一個按鈕,啓動kindle應用程序並打開書。
在此先感謝!
我正嘗試從我的android應用程序啓動亞馬遜Kindle應用程序,但是基於用戶單擊的特定書籍。如何從Android打開kindle電子書?
我可以確定可用書籍以及用戶選擇了哪本書,但我只能啓動kindle應用程序(使用包名稱com.amazon.kindle)來啓動kindle應用程序。
有誰知道任何額外的命令,我可以發送指定一本書打開?我知道這是可能的,因爲在谷歌播放商店有一個小部件,用戶選擇一個噓聲,它會在主屏幕上創建一個按鈕,啓動kindle應用程序並打開書。
在此先感謝!
首先我們需要將意圖設置爲ACTION_VIEW
意圖。
然後,我們需要定義它實際上是一個看起來像一個鏈路的數據的Uri
:點燃://書/動作=開放& 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
的意圖,這可能是其他類的句柄,onClickListener
爲imageview
持有我想要的書。
如果您有權訪問Amazon Kindle的清單,您可能可以從意向過濾器中找出 – 2012-08-02 14:36:28