У меня есть следующий фрагмент кода:
public static String getAppVersion(Context context) {
String versionName = null;
try {
versionName = context.getPackageManager().getPackageInfo(context.getPackageName(), 0).versionName; //This is the problematic line
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return versionName;
}
Теперь, согласно Crashlytics, был случай, когда приложение зависало, выдавая следующее исключение:
Caused by android.os.DeadObjectException
com.tawkon.data.lib.util.ParameterUtils.getAppVersion
android.os.BinderProxy.transactNative (Binder.java)
android.os.BinderProxy.transact (Binder.java:503)
android.content.pm.IPackageManager$Stub$Proxy.getPackageInfo (IPackageManager.java:2684)
android.app.ApplicationPackageManager.getPackageInfo (ApplicationPackageManager.java:193)
com.tawkon.data.lib.util.ParameterUtils.getAppVersion (ParameterUtils.java:44)
com.tawkon.data.lib.helper.analytics.NetworkRequestHelper.generateHttpRequest (NetworkRequestHelper.java:28)
com.tawkon.data.lib.service.DataThroughputScanJobIntentService$2.onTestFinished (DataThroughputScanJobIntentService.java:342)
com.tawkon.data.lib.collector.DataThroughputManager$1.run (DataThroughputManager.java:171)
Характеристики устройства - Samsung с ОС 6.
Похоже, это редкий сбой в моем случае. Независимо от того, что может быть причиной этого? Как я могу предотвратить это снова?