Как после остановки заново запустить BillingClient?

Когда программа на protected void onPause() я останавливаю BillingClient . Через mBillingClient.endConnection();

Как его заново запустить не пересоздавая то есть не вызывать метод mBillingClient();

А написать что то подобное как в onPause() только в onResume() Чтобы восстановить работу .

 public class MainActivity1_2 extends AppCompatActivity {
      
        private Vibrator Vibro;
        
    
        @Override
        protected void onResume() {
            super.onResume();
    
        }
    
    
        @Override
        protected void onPause() {
            super.onPause();
    
            mBillingClient.endConnection();
        }
    
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main_activity1_2);
    
    
                mBillingClient();
    
    
        }
    
    
        private Map<String, SkuDetails> mSkuDetailsMap = new HashMap<>();
    
        private String load = "1_1_1";
    
    
    
        private BillingClient mBillingClient;
    
        public void mBillingClient() {
    
            
    
    
            mBillingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {
                @Override
                public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
                    if (responseCode == BillingClient.BillingResponse.OK && purchases != null) {
                        //сюда мы попадем когда будет осуществлена покупка
    
                        List<Purchase> purchasesList = queryPurchases();
                        for (int i = 0; i < purchasesList.size(); i++) {
                            String purchaseId = purchasesList.get(i).getSku();
    
                            //
    
                            if (TextUtils.equals(load, purchaseId)) {
                                payComplete();
                            }
    
    
                        }
    
                    }
    
                }
            }).build();
            mBillingClient.startConnection(new BillingClientStateListener() {
                @Override
                public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode) {
                    if (billingResponseCode == BillingClient.BillingResponse.OK) {
                        //здесь мы можем запросить информацию о товарах и покупках
                        querySkuDetails();
    
                    }
                }
    
    
                @Override
                public void onBillingServiceDisconnected() {
                    //сюда мы попадем если что-то пойдет не так
                }
            });
        }
    
    
        private void querySkuDetails() {
            SkuDetailsParams.Builder skuDetailsParamsBuilder = SkuDetailsParams.newBuilder();
            List<String> skuList = new ArrayList<>();
            skuList.add(load);
    
    
    
            skuDetailsParamsBuilder.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
            mBillingClient.querySkuDetailsAsync(skuDetailsParamsBuilder.build(), new SkuDetailsResponseListener() {
                @Override
                public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
                    if (responseCode == 0) {
                        for (SkuDetails skuDetails : skuDetailsList) {
                            mSkuDetailsMap.put(skuDetails.getSku(), skuDetails);
                        }
                        
                        vibro();
                        
                    }
                }
            });
    
        }
    
    
        public void payComplete() 
        { }
    
    
    
        private List<Purchase> queryPurchases() {
            Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
            return purchasesResult.getPurchasesList();
        }
    
        ///////
    
        public  void  Buy (View view){
            
    
            Vibro = (Vibrator)this.getSystemService(VIBRATOR_SERVICE);
            Vibro.vibrate(50);
    
            
                    BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
                            .setSkuDetails(mSkuDetailsMap.get(load))
                            .build();
                    mBillingClient.launchBillingFlow(this, billingFlowParams);
                
        }
    
        public void vibro(){
            Vibro = (Vibrator)this.getSystemService(VIBRATOR_SERVICE);
            Vibro.vibrate(50);
        }
    
    }

Ответы (0 шт):