繁体   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