StartActivity из приложения закрывает приложение - PullRequest
0 голосов
/ 08 мая 2018

У меня есть класс, который расширяет приложение, и оттуда, при обнаружении сотрясений, оно должно открыть действие. Тем не менее, для определенного действия он закрывает приложение. В журналах НЕТ сбоев или ошибок, что затрудняет отладку ...

Код для начала действия:

                int currentViewingMemberId = CommonFunctions.get_CURRENT_VIEWING_MEMBER_ID(this);
                Bitmap b = takeScreenshot();
                Intent contactAndReportIntent = ReportIssueActivity.getIntentForActivity(getApplicationContext(), true, null, b, currentViewingMemberId);
                contactAndReportIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(contactAndReportIntent);

                mSensorManager.unregisterListener(this);
                hasAccelerometerSensorBeenRegistered = false;

Метод getIntentForActivity () выглядит следующим образом:

public static Intent getIntentForActivity(Context context, boolean isFromShake, String helpTip, Bitmap screenshot, int currentViewingMemberId) {
        Intent intent = new Intent(context, ReportIssueActivity.class);
        intent.putExtra(FROM_SHAKE, isFromShake);
        if (helpTip == null) {
            helpTip = "";
        }
        if (screenshot != null) {
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            screenshot.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] byteArray = stream.toByteArray();
            intent.putExtra(SCREENSHOT_IMAGE, byteArray);
        }
        intent.putExtra(HELP_TIP, helpTip);
        intent.putExtra(CURRENT_VIEWING_MEMBER_ID, currentViewingMemberId);
        return intent;
    }

takeScreenshot () захватывает текущее окно и успешно возвращает растровое изображение, но Activity onCreate () даже не вызывается.

Любые идеи помогут, спасибо! :)

1 Ответ

0 голосов
/ 08 мая 2018

Оказывается, я получаю TransactionTooLargeException при попытке вернуть намерение моей активности. Перестановка:

 screenshot.compress(Bitmap.CompressFormat.PNG, 100, stream);

для:

 screenshot.compress(Bitmap.CompressFormat.JPEG, 80, stream);

исправлена ​​ошибка, из-за которой размер снимка экрана уменьшился до допустимого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...