Никак не могу понять в чем ошибка. Использую конструктор без аргумента,но при этом все равно ловлю этот эксепшен.
public class BackGroundService extends IntentService {
public BackGroundService() {
super("BackGroundService");
}
@Override
protected void onHandleIntent(@Nullable Intent intent) {
// Use reflection to trigger a method from 'StatusBarManager'
@SuppressLint("WrongConstant") Object statusBarService = getSystemService("statusbar");
Class<?> statusBarManager = null;
try {
statusBarManager = Class.forName("android.app.StatusBarManager");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
Method collapseStatusBar = null;
try {
// Prior to API 17, the method to call is 'collapse()'
// API 17 onwards, the method to call is `collapsePanels()`
if (Build.VERSION.SDK_INT > 16) {
collapseStatusBar = statusBarManager.getMethod("collapsePanels");
} else {
collapseStatusBar = statusBarManager.getMethod("collapse");
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
collapseStatusBar.setAccessible(true);
try {
collapseStatusBar.invoke(statusBarService);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
} catch (InvocationTargetException e) {
e.printStackTrace();
}
}
}
Вызов осуществляется от сюда
public void collapseNowFirst() {
// Initialize 'intent service'
if (intentService == null) {
intentService = new Intent(MainActivity.this, BackGroundService.class);
}
// If window focus has been lost && activity is not in a paused state
// Its a valid check because showing of notification panel
// steals the focus from current activity's window, but does not
// 'pause' the activity
if (!currentFocus && !isPaused) {
startService(intentService);
} else
stopService(intentService);
}
Код выглядит правильным, очень похоже что по каким-то причинам компилятор "не видит" новой версии файла.
Ради эксперимента попробуйте создать новый класс BackGroundService1
, скопировав туда весь код и использовать его вместо BackGroundService
. Если дело именно в обновлении, то ошибка должна пропасть.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Если при вставке новых элементов в ArrayList, недостаточно места, то новая ёмкость рассчитывается по формуле: (oldCapacity*3)/2+1 С какой целью разработчики...
Здравствуйте, пишу программу, которая работает с БД, но возникла проблема с написание хорошей функции для выборке данных из БД, чтобы она...
Здравствуйте, есть такой вот код, по идее он должен зашифровать слово "hello" и здесь же дешифровать, вывести в text view, но при запуске приложение...