0

多数のアクティビティを含むアプリ内購入をアプリに実装する方法を見つけようとしています。IABHelper m_helper;主な問題は、オブジェクトをどこに置くかです。シングル アクティビティ アプリの場合、すべてが単純です (サンプル「android-sdk\extras\google\play_billing\samples\TrivialDrive\src\com\example\android\trivialdrivesample」など)。

しかし、私はいくつかの内から請求システムとやり取りする必要がありますActivities。それぞれにa を定義するのはクールIABHelper m_helper;ですか? いいえと思います。ルート アクティビティでのみ定義した場合、セカンダリ アクティビティからアクセスするにはどうすればよいですか? さらに、次のようなシナリオを見てください。

  1. アプリを起動します。
  2. ルート アクティビティの起動と課金システム ( IABHelper m_helper) のセットアップ。
  3. 二次活動に進みます。m_helperルート アクティビティはまだ破棄されていないため、(どういうわけか) ルート アクティビティにアクセスできるようになりました。
  4. ホームボタンを押す
  5. 何百万ものクールな Android アプリを起動します。
  6. アプリに戻ります。セカンダリ アクティビティが起動しますが、手順 5 で Root が Android によって強制終了されます。 へのアクセスが失われましたm_helper

Android の概念がいくつかありませんか?

4

1 に答える 1

1

IABHelperActivity請求に接続するための便利なメソッドを提供しますServiceActivityこれはグローバル接続ではないため、請求情報の読み取り/書き込みが必要なそれぞれに対して 1 つ作成できます。

m_helper.setup(this)ただし、 Activity ごとに 1 回だけ呼び出すようにしてください(通常はonCreateその でActivity)。同様に、(通常はメソッド内で)m_helper.dispose()ごとに 1 回だけ呼び出します。ActivityonDestroy

于 2013-04-20T15:03:23.477 に答える