java - Intent 劫持应用程序计费

标签 java android android-intent

我能够实现一个应用内计费处理器,并且它测试得很好,而我并不打算去进行新的 Activity 。
然而,在客户支付付费内容后,我希望有一个新的 Intent 自动运行,从而启动新 Activity (包含付费内容的 Activity )。 然而,当我这样做时, Intent 超越了计费处理器,并切换到付费 无需任何计费或付款的 Activity 。我了解如何使用按钮来启动新 Activity 。但是,另一个按钮将不起作用,因为这也会 是解决应用内计费的简单方法。

有什么建议可以绕过这个粘性 wicket 吗?非常感谢。是的,这是我的第一个 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();

    }

关于java - Intent 劫持应用程序计费,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45804958/

相关文章:

java - BoxLayout 拒绝接受 JButton 的首选大小

java - Netty - 如何测试客户端/服务器版本号

java - 基于 Spring java 的配置 - 无法打开 ServletContext 资源

android - 加密sqlite数据库Android :

android - finish() 在第一次运行后调用时不关闭 Activity

java - 在一个类中有一个具有相同类的字段

android - 从 Android 应用程序控制 DOM 元素

JavaMail - 无法folder.open()

audio - 如何在媒体播放器中播放音频文件

java - 完成类(class)并从已完成类(class)到主类(class)获取 int