2017-08-21 11 views
1

私はアプリ内課金プロセッサを実装できました。新しいアクティビティに行くつもりはなく、うまくテストされています。
しかし、顧客が有料コンテンツを支払った後、私は新しい目的が に自動的に実行されるようにして、新しいアクティビティが開始されるようにします(有料コンテンツのアクティビティ)。 しかし、私がこれを行うと、課金プロセッサーを追い越して、課金や支払いをせずに有料の アクティビティに切り替えます。新しいアクティビティを開始する意図を持つボタンを使用する方法を理解しています。ただし、別のボタンが機能しないのは、 もアプリ内課金の簡単な方法です。インテントがアプリ課金でハイジャックしています

このスティッキーウィケットを避けるための提案はありますか?どうもありがとう。はい、これは私の最初のアンドロイドアプリです。私は、あなたが言うことができると確信している...

BillingProcessor bp; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); 
     setSupportActionBar(toolbar); 

     bp = new BillingProcessor(this, "null", this); 


     Button button2 = (Button) findViewById(R.id.button2); 

     button2.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       bp.purchase(MainActivity.this, "android.test.purchased"); 

//THE PROBLEM IS WHAT FOLLOWS: It overtakes .bp 

       startActivity(new Intent(MainActivity.this, paidstuff.class)); 

      } 
     }); 
    } 

    @Override 
    public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) { 
     Toast.makeText(this, "You just bought something great!", Toast.LENGTH_SHORT).show(); 

    } 

    @Override 
    public void onPurchaseHistoryRestored() { 

    } 

    @Override 
    public void onBillingError(int errorCode, @Nullable Throwable error) { 

    } 

    @Override 
    public void onBillingInitialized() { 

    } 


    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (!bp.handleActivityResult(requestCode, resultCode, data)) { 
      super.onActivityResult(requestCode, resultCode, data); 
     } 



    } 
    @Override 
    public void onDestroy() { 
     if (bp != null) { 
      bp.release(); 
     } 
     super.onDestroy(); 
    } 

} 

答えて

0

は、あなただけの

@Override 
    public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) { 
     Toast.makeText(this, "You just bought something great!", Toast.LENGTH_SHORT).show(); 

    } 

startActivity(new Intent(MainActivity.this, paidstuff.class)); 

を置くカント

関連する問題