gpt4 book ai didi

java - 在共享首选项中保存购买

转载 作者:行者123 更新时间:2023-11-30 10:17:54 26 4
gpt4 key购买 nike


我正在使用 应用内购买。我在特定的 Activity 中进行购买,并存储在 sharedpreferences 中。
目前没有问题。现在我想在另一个类中使用这些 sharedpreferences` 并检查是否已付款是否要完成特定任务。
我的代码:

    `@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_premium);


btnBuy = (Button) findViewById(R.id.btnBuy);
btnBuy.setEnabled(false);
btnBuy.setOnClickListener(this);

mBillingProcessor = new BillingProcessor(
this,
BAZAAR_RSA_KEY,
NIVAD_APPLICATION_ID,
NIVAD_APPLICATION_SECRET,
MarketName.CAFE_BAZAAR,
this

);


}

@Override
public void onClick(View v) {
mBillingProcessor.purchase(this, FULL_VERSION_SKU);

}

@Override
public void onBillingInitialized() {
btnBuy.setEnabled(true);
btnBuy.setBackgroundColor(getResources().getColor( R.color.colorBoy));
btnBuy.setText(R.string.Buy);
}

@Override
public void onProductPurchased(String sku, TransactionDetails transactionDetails) {
if (FULL_VERSION_SKU.equals(sku)) {

PreferenceManager.getDefaultSharedPreferences(PremiumActivity.this)
.edit().putBoolean("is_full_version", true).apply();
Toast.makeText(PremiumActivity.this, R.string.Lol, Toast.LENGTH_LONG).show();


}

}


@Override
public void onPurchaseHistoryRestored() {
if(mBillingProcessor.isPurchased(FULL_VERSION_SKU)){
PreferenceManager.getDefaultSharedPreferences(PremiumActivity.this)
.edit().putBoolean("is_full_version", true).apply();


} else {
PreferenceManager.getDefaultSharedPreferences(PremiumActivity.this)
.edit().putBoolean("is_full_version", false).apply();
}
}

@Override
public void onBillingError(int errorCode, Throwable throwable){
if (errorCode == 205){
Toast.makeText(PremiumActivity.this, R.string.nivad_protects_this_application, Toast.LENGTH_LONG).show();
}
}
@Override
protected void onDestroy() {
if (mBillingProcessor != null) {
mBillingProcessor.release();
}
super.onDestroy();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (!mBillingProcessor.handleActivityResult(requestCode, resultCode, data)) {
super.onActivityResult(requestCode, resultCode, data);
}
} `


最佳答案

  1. getDefaultSharedPreferences 将为Internal Activity only 创建一个共享首选项文件。

你应该得到一个 SharedPreferences 的实例,如下所示:

SharedPreferences preferences = context.getSharedPreferences("NAME",MODE_PRIVATE);

2.在另一个activity中,像上一个Activity中一样取出数据即可

SharedPreferences preferences = getSharedPreferences("NAME", MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.getBoolean("is_full_version", false);

关于java - 在共享首选项中保存购买,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49530041/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com