@ArtemCheck

Как перекинуть данные с одного Activity в другой?

Привет всем! Подключаю покупки внутри приложение с помощью библиотеки anjlab/android-inapp-billing-v3.

Я немного запутался, может кто сможет помочь с этим вопросом.
Я имею код:

import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.anjlab.android.iab.v3.BillingProcessor;
import com.anjlab.android.iab.v3.TransactionDetails;

public class donate_screen extends AppCompatActivity implements BillingProcessor.IBillingHandler {

    final String TAG = "States";
    String licenceKey = "LICENCE KEY";

    BillingProcessor bp;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.donate_screen); //назначаем layout (внешний вид)

        bp = new BillingProcessor(this, licenceKey, this);

        Button stop_ads = (Button) findViewById(R.id.stop_ads);
        Button donate_one = (Button) findViewById(R.id.donate_one);
        Button donate_two = (Button) findViewById(R.id.donate_two);
        Button donate_three = (Button) findViewById(R.id.donate_three);
        Button donate_four = (Button) findViewById(R.id.donate_four);
        Button donate_five = (Button) findViewById(R.id.donate_five);

        stop_ads.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "eng_stop_ads");
            }
        });

        donate_one.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "purchase1");
            }
        });

        donate_two.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "purchase2");
            }
        });

        donate_three.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "purchase3");
            }
        });

        donate_four.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "purchase4");
            }
        });

        donate_five.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick (View view) {
                bp.purchase(donate_screen.this, "purchase5");
            }
        });


        Log.d(TAG, "donate: onCreate()");

    }



    @Override
    protected void onRestart() {
        super.onRestart();
        Log.d(TAG, "donate: onRestart()");
    }

    @Override
    protected void onStart() {
        super.onStart();
        Log.d(TAG, "donate: onStart()");
    }


    @Override
    protected void onResume() {
        super.onResume();
        Log.d(TAG, "donate: onResume()");
    }


    @Override
    protected void onPause() {
        super.onPause();
        Log.d(TAG, "donate: onPause()");
    }

    @Override
    protected void onStop() {
        super.onStop();
        Log.d(TAG, "donate: onStop()");
    }

    @Override
    public void onProductPurchased(@NonNull String productId, @Nullable TransactionDetails details) {
        Toast.makeText(this, "Вы приобрели продукт!", Toast.LENGTH_SHORT).show();
        bp.consumePurchase("purchase1");
        bp.consumePurchase("purchase2");
        bp.consumePurchase("purchase3");
        bp.consumePurchase("purchase4");
        bp.consumePurchase("purchase5");
    }

    @Override
    public void onPurchaseHistoryRestored() {

    }

    @Override
    public void onBillingError(int errorCode, @Nullable Throwable error) {
        Toast.makeText(this, "Что-то пошло не так.", Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onBillingInitialized() {

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(!bp.handleActivityResult(requestCode, resultCode, data)) {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }

    @Override
    public void onDestroy() {
        if(bp != null) {
            bp.release();
        }
        super.onDestroy();
    }



}


Этот код находится в активити с покупками. Мне необходимо с этого кода передать команду
bp.isPurchased("eng_stop_ads")
,которая передаёт булевое значение, в главное активити (MainScreen.java), где у меня инициализируется реклама.
Необходимо этого для того, чтобы платно отключать рекламу

Команду проверки булевого значения необходимо передать в :
Appodeal.setSegmentFilter("purchase", bp.isPurchased("eng_stop_ads"));


Никак не могу вдуплить как это сделать. Может кто работал с этой библиотекой и сможет подсказать.
Помогите по братски, я новенький, уже голова кипит)

Спасибо)
  • Вопрос задан
  • 172 просмотра
Решения вопроса 1
@ArtemCheck Автор вопроса
В общем, соединил два xml файла внешнего вида в один с помощью и запихнул его в MainScreen. Оттуда сначала показывал один, а второй был спрятан, а при нажатии на кнопку вызова экрана с отключением рекламы - просто прятал главный экран и показывал экран с отключением рекламы. Сделал кнопку закрыть - и снова прячу отключение рекламы - показываю главный.

Весь биллинг процесс сделал в главном активити - инициализирую рекламу в главном активити - проверяю значение тоже в главном
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Java
Android developer at Yandex
startActivityForResult+onActivityResult
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы