Я выпустил приложение IME (программная клавиатура) и получаю отчеты о сбоях только с телефонов HTC .Вот трассировка стека:
java.lang.NullPointerException
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:465)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:666)
at com.comet.android.keyboard.util.Util.getBitmapDrawable(MyFile.java:416)
...
Вот мой вызов Drawable.createFromResourceStream ()
drawable = Drawable.createFromResourceStream(context.getResources(), null, stream, null);
, где context
подкласс InputMethodService и stream
это либо FileInputStream , либо AssetInputStream (я пробовал оба).Файл ресурса представляет собой скомпилированный NinePatchDrawable .Я подтвердил, что поток не является нулевым.
Повторим: эта ошибка возникает только с некоторыми телефонами HTC (включая Evo), работающими под различными версиями ОС Android.
Кто-нибудь испытывал это и / или знает, как это исправить?
Заранее спасибо,
Барри
PS Что странно, что линия крушения 465 не находится в пределах крушенияМетод BitmapFactory.decodeResourceStream () в любой версии BitmapFactory.java , поэтому HTC должна использовать измененный код.