Как остановить сервис в рамках метода OnStart?

Привет, ребята, я, посмотрев вокруг, нашел лучшее решение. как #jia Джордж указал, что вы должны сбросить входной поток после первого декодирования, проблема в том, что некоторый сброс времени не поддерживается, но вы можете обернуть входной поток внутри BufferedInputStream, и это нормально.

final BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true; 
BufferedInputStream buffer=new BufferedInputStream(is);
BitmapFactory.decodeStream(buffer,null,options);
buffer.reset();

    // Calculate inSampleSize
options.inSampleSize = calculateInSampleSize(options, reqWidth,reqHeight);

    // Decode bitmap with inSampleSize set
options.inJustDecodeBounds = false; 
BitmapFactory.decodeStream(buffer,null,options);
5
задан Nikolai Samteladze 29 October 2013 в 18:09
поделиться

3 ответа

Почему вы хотите это сделать? Если произошла ошибка, зарегистрируйте ее в журнале событий и выдайте исключение. Ваша служба не будет запущена, и пользователь будет проинформирован о том, что что-то случилось.

8
ответ дан 14 December 2019 в 04:46
поделиться

Вы можете использовать Environment.FailFast () . Просто имейте в виду, что он игнорирует любые блоки try-catch-finally.

0
ответ дан 14 December 2019 в 04:46
поделиться

Используйте ServiceController и остановите его, а затем немедленно вернитесь.

0
ответ дан 14 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: