implementieren. Zuerst habe ich die Idee von http://www.tutorialsface.com/2016/05/implementing-remove-ads-in-app-purchases-in-android-tutorial-example/ mit einer separaten Klasse für den Umgang mit InApp-Abrechnung verwendet.Kann die OnActivityResult-Methode nicht ordnungsgemäß für die In-App-Abrechnung in Android
Meine Klasse, von der ich beginne die Abrechnung eine bereits onActivityResult Methode hatte, die habe ich es zu:
@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.");
}
}
Zunächst einmal möchte ich die wichtigsten Google-Konto erhalten und verschlüsselt zusammen mit dem aktuellen Datum und Starten Sie dann den Abrechnungsprozess. Aber vor dem Dialog, von dem ich die E-Mail bekomme, habe ich den Dialog von InApp Billing.
Also dachte ich, die Methode von StartBilling innerhalb der Aktivität Ergebnis zu platzieren.
Aber selbst wenn ich den E-Mail-Dialog zuerst bekomme, bekomme ich eine Null auf mHelper, damit nichts als nächstes passiert. Wie kann ich das beheben?
Soll ich Sie wie folgt vor ?:
@Override
protected void onResume() {
super.onResume();
if(possibleEmail!=null)
{
startBilling.purchaseRemoveAds(possibleEmail);
}
}
Möglicherweise nicht verwandt: Sie fehlt ein 'super.onActivityResult' Aufruf am Anfang. –
Warum brauche ich das super.onActivityResult am Anfang? – NoviceUser
Ohne es 'OnActivityResult' in Fragmenten wird nicht funktionieren. Wenn du sagen willst "Ich habe keine Fragmente", eines Tages wirst du und du wirst dich wundern, warum arbeiten sie nicht. –