classnotfoundException, получая, если я начинаю деятельность, которая находится в динамическом модуле после успешной загрузки - PullRequest
0 голосов
/ 24 мая 2019

Из внутреннего теста я могу загрузить модуль динамических функций. После успешной загрузки я открываю активность, которая находится в динамическом модуле с использованием имени пакета, но я получил исключение класса не найдено. И я проверил размер APK, но размер не увеличился. ниже мой код. Пожалуйста, помогите

ниже мой код для загрузки модуля. Я использовал из внутреннего тестирования, которое доступно в PlayStore.

     public void loadFeatureTwo() {
    // Builds a request to install the feature1 module
    SplitInstallRequest request =
            SplitInstallRequest
                    .newBuilder()
                    // You can download multiple on demand modules per
                    // request by invoking the following method for each
                    // module you want to install.
                    .addModule("feature2")
                    .build();

    // Begin the installation of the feature1 module and handle success/failure
    splitInstallManager
            .startInstall(request)
            .addOnSuccessListener(new OnSuccessListener<Integer>() {
                @Override
                public void onSuccess(Integer integer) {
                    // Module download successful
                   /* Intent intent = new Intent().setClassName(getPackageName(), "com.bapspatil.feature2.FeatureTwoActivity");
                    startActivity(intent);*/

                    Toast.makeText(getApplicationContext(), "successfully download feature2: ", Toast.LENGTH_LONG).show();
                    try {
                        Intent myIntent = new Intent(MainActivity.this, Class.forName("com.bapspatil.feature2.FeatureTwoActivity"));
                        startActivity(myIntent);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            })
            .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(Exception e) {
                    // Module download failed; handle the error here
                    Toast.makeText(getApplicationContext(), "Couldn't download feature: " + e.getMessage(), Toast.LENGTH_LONG).show();
                }
            });
}

1 Ответ

0 голосов
/ 27 мая 2019

Убедитесь, что вы правильно интегрируетесь с SplitCompat .

В частности, вы, кажется, не слушаете правильное событие. Вы должны позвонить registerListener и предоставить пользовательский SplitInstallStateUpdatedListener. Ознакомьтесь с примерами документации

// Creates a listener for request status updates.
SplitInstallStateUpdatedListener listener = state -> {
    if (state.sessionId() == mySessionId) {
      // Read the status of the request to handle the state update.
    }
};

// Registers the listener.
splitInstallManager.registerListener(listener);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...