2016-08-06 11 views
0

まず、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); 
    } 
} 
+0

をした:あなたが不足しています'super.onActivityResult'コールが最初に呼び出されます。 –

+0

最初にsuper.onActivityResultが必要なのはなぜですか? – NoviceUser

+0

フラグメントで 'onActivityResult'がなければ動作しません。 「私は断片を持っていません」と言いたいと思ったら、ある日、あなたは不思議に思うでしょう。なぜ彼らは働かないのですか? –

答えて

0

nullオブジェクト参照が私の第二の活動のmHelperのonCreateメソッドを初期化しないから来たをしなければならないので、私はおそらく無関係

mHelper = startBilling.mHelper; 
関連する問題