Добавить мое приложение в список приложений AutoStart в Android программно
Я хочу, чтобы мое приложение было в списке автозапуска после установки.
Я знаю, что когда я устанавливаю приложение вроде (whatsapp), оно автоматически попадает в список автозапуска. Я хочу, чтобы мое приложение было таким же
Я попробовал код в этом вопросе Как автоматически запустить приложение Android?
но, к сожалению, ни один из ответов на самом деле не сделал автозапуск приложения.
Не уверен, что делаю что-то не так
причина, по которой мне нужно, чтобы приложение запускалось автоматически, заключается просто в получении уведомлений от веб-службы. так как приложение не получает уведомления, если оно не открыто или автозапуск не включен
был бы признателен за вашу помощь
Спасибо
4 ответа
Этот экран / поведение не является родным для Android, то есть экран, который вы показываете, происходит от пользовательского диска, возможно, от определенного производителя.
Как вы сказали, ответы на другой вопрос не работают, но они являются единственным родным способом запуска приложения при загрузке / запуске.
Проверьте, есть ли в приложении /custom rom API (определенный широковещательный приемник для реализации или какой-то SDK...). Вы всегда можете декомпилировать одно из приложений, которые реализуют это поведение, чтобы увидеть, как они отображаются в этом меню.
Некоторые приложения, такие как Whatsapp и Facebook, могли быть включены в белый список, поэтому у них включена опция автоматического запуска.
Но я попробовал следующий код для устройств Xiaomi надеюсь, что это может помочь!
String manufacturer = "xiaomi";
if(manufacturer.equalsIgnoreCase(android.os.Build.MANUFACTURER)) {
//this will open auto start screen where user can enable permission for your app
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
startActivity(intent);
}
Немногие популярные приложения работают в фоновом режиме и не уничтожаются во время цикла очистки памяти (многие популярные OEM-производители настраивают ПЗУ стека для оптимизации заряда батареи / памяти), поскольку эти производители "занесены в белый список". Для вашего приложения вы можете внести его в белый список либо вручную (с помощью соответствующих "настроек" для устройств), либо прагматично, перенаправив пользователей на соответствующую страницу настроек, чтобы белый список приложения.
Пожалуйста, посмотрите детали здесь
Я пробовал ниже код, чтобы добавить мое приложение в белый список
try {
final Intent intent = new Intent();
String manufacturer = Build.MANUFACTURER;
if ("xiaomi".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
} else if ("oppo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
//intent.setComponent(new ComponentName("com.coloros.oppoguardelf", "com.coloros.powermanager.fuelgaue.PowerConsumptionActivity"));
} else if ("vivo".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
} else if ("huawei".equalsIgnoreCase(manufacturer)) {
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
} else {
// applySubmit(false);
return;
}
} catch (Exception e) {
e.printStackTrace();
}