2013-04-20 44 views
0

我想弄清楚如何在包含一打活動的應用中實現應用內購買。主要問題是在哪裏放IABHelper m_helper;對象?在單一活動應用程序(如示例「android-sdk \ extras \ google \ play_billing \ samples \ TrivialDrive \ src \ com \ example \ android \ trivialdrivesample」)中,一切都很簡單。android應用內購買API 3

但我需要與幾個Activities內的計費系統進行交互。在他們每個人中定義一個IABHelper m_helper;是否很酷?我懷疑不。如果我只在我的根源活動中定義它,我如何從次要活動訪問它?此外,看看這樣的情景:

  1. 啓動應用程序。
  2. 根活動啓動和計費系統(IABHelper m_helper)設置。
  3. 轉到次要活動。現在我可以訪問(以某種方式)根活動的m_helper,因爲根活動尚未銷燬。
  4. 新聞主頁按鈕
  5. 推出一百萬個超酷的Android應用程序。
  6. 返回到我的應用程序。次要活動被喚醒,但Root在步驟5中被Android殺死。我失去了訪問m_helper的權限。

我錯過了一些Android概念?

回答

1

IABHelper提供了用於將Activity連接到計費Service的便利方法。這不是一個全球性的連接,因此您可以爲需要讀取/寫入賬單信息的每個Activity創建一個。

但是,請確保您只爲每個活動(通常在onCreate中爲Activity)撥打m_helper.setup(this)一次。同樣,只需撥打m_helper.dispose()Activity(通常在onDestroy方法)。