これは、私がここに投稿した質問の派生的な質問です。 保留中のインテントと切り替えアクティビティに関するアプリ内のビリングの問題
私が今抱えている問題は、その質問に関するすべての情報に直接関係していますが、おそらく完全に異なるトピック(OpenGL)を扱っているため、この新しい質問が必要です。ただし、情報については、そこに掲載されているコードを参照してください。
基本的な問題はこれです:
私はグーグルのアプリ内課金を備えたAndengineゲームを持っています。ユーザーが「購入」ボタンをクリックすると、マーケットプレイスからトランザクションを処理する気の利いた小さなポップアップが表示されます。このポップアップは、ユーザーが適切なクレジットカード情報を提供すると、取引に対して請求され、私がいくらかのお金を受け取るときに、うまく機能します。悲しいことに、トランザクションを完了すると(この場合、完了すると、課金するか、購入しないことを決定します。どちらの方法でも、マーケットポップアップに関する限り、アクションを完了します)、ゲームまで黒のままの黒い画面が表示されます。タイムアウトするか、強制的に終了します。
LogCatを分析することで、Andengineアクティビティが失われ、ゲームが関連するリソースをロードできなくなった背後にあるOpenGLサーフェスに問題を絞り込んだと思います。私はOpenGLについて何も知らないので、これを修正する方法がわかりません。私が欲しいのは、アプリ内課金によって開始された保留中のインテントがビジネスを完了した後に、単純なAndengineアクティビティを再開または再開することです。LogCatの完全なダンプは上記のリンク先の質問にありますが、これがエラーの原因であると私は信じています。
06-16 11:20:23.635: DEBUG/dalvikvm(3807): GC_EXPLICIT freed 53K, 45% free 3710K/6663K, external 1K/513K, paused 102ms
06-16 11:20:23.885: ERROR/Surface(3807): surface (identity=158) is invalid, err=-19 (No such device)
06-16 11:20:23.905: ERROR/Surface(3807): surface (identity=158) is invalid, err=-19 (No such device)
06-16 11:20:23.905: ERROR/Surface(3807): surface (identity=158) is invalid, err=-19 (No such device)
06-16 11:20:23.905: ERROR/Adreno200-EGL(3807): egliSwapWindowSurface: unable to dequeue native buffer
お手伝いできることがあればお知らせください。AndroidでのOpenGLの経験と、できればAndengineの基本的な知識(または少なくともOpenGLでの動作方法)が必要になる可能性があります。グラフィックをあまり複雑にしないので問題ありません。再開したい画面(私の「ストアフロント」)は、さまざまなスプライトと最小限のテキストで構成されています。
ありがとう