まず、InAppの請求を扱う別のクラスを持つhttp://www.tutorialsface.com/2016/05/implementing-remove-ads-in-app-purchases-in-android-tutorial-example/のアイデアを使用しました。私は、課金は、私はそれを変更し、既にonActivityResult方法だった開始そこからAndroidでIn Appの請求に対してonActivityResultメソッドを正しく実装できません
私のクラス:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data)
{
if (mHelper == null) return;
if (!mHelper.handleActivityResult(requestCode, resultCode, data))
{
if(requestCode==3)
{
// Construct the data source
ArrayList<Service> arrayOfServices = new ArrayList<Service>();
arrayOfServices = db.getAllServices();
// Create the adapter to convert the array to views
CatalogueAdapter adapter = new CatalogueAdapter(this, arrayOfServices);
// Attach the adapter to a ListView
myServices.setAdapter(adapter);
adapter.notifyDataSetChanged();
}
if (requestCode == 1111 && resultCode == RESULT_OK)
{
String emailAddress = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd_HH:mm");
String formattedDate = df.format(c.getTime());
possibleEmail=md5(emailAddress + formattedDate);
startBilling.purchaseRemoveAds(possibleEmail);
}
}else
{
//Log.d(TAG, "onActivityResult handled by IABUtil.");
}
}
まず第一に、私は、メインのGoogleアカウントを取得したいと現在の日付と一緒に暗号化され、請求プロセスを開始します。しかし、メールを受け取ったダイアログの前にInApp Billingのダイアログがあります。
私はActivity Resultの中にStartBillingのメソッドを置くことを考えました。
しかし、電子メールダイアログを最初に取得したとしても、mHelperではnullが返され、次は何も起こりません。どのようにこれを修正するには?
は、私は、次の?:
@Override
protected void onResume() {
super.onResume();
if(possibleEmail!=null)
{
startBilling.purchaseRemoveAds(possibleEmail);
}
}
をした:あなたが不足しています'super.onActivityResult'コールが最初に呼び出されます。 –
最初にsuper.onActivityResultが必要なのはなぜですか? – NoviceUser
フラグメントで 'onActivityResult'がなければ動作しません。 「私は断片を持っていません」と言いたいと思ったら、ある日、あなたは不思議に思うでしょう。なぜ彼らは働かないのですか? –