簡體   English   中英

意向在應用程序計費中被劫持

[英]Intent is hijacking in app billing

我能夠實現一個應用內結算處理器,並且在我不打算參加新活動的情況下可以正常測試。
但是,在客戶支付了付費內容后,我希望自動運行新意圖,從而啟動新活動(帶有付費內容的活動)。 但是,當我這樣做時,意圖超過了計費處理器,並切換為付費活動,而沒有任何計費或付款。 我了解如何使用旨在啟動新活動的按鈕。 但是,另一個按鈕將不起作用,因為這也是解決應用內結算的一種簡便方法。

有什么建議可以解決這個粘性檢票口嗎? 非常感謝。 是的,這是我的第一個Android應用程序。 我敢肯定你可以告訴...

  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();
    }

}

你不能把

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();

    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM