Как программно включить опцию автозапуска для моего приложения в приложении безопасности MI 4i?

Чтобы просмотреть скриншот и подробные сведения, нажмите здесь

Пожалуйста, дайте соответствующее предложение или код о том, как добавить автоматический запуск автоматического запуска для моего приложения, пожалуйста, проверьте здесь прикрепленный снимок экрана, спасибо заранее.


person Chirag Kheni    schedule 31.08.2015    source источник
comment
ЕСЛИ у вашего приложения есть разрешение, которое запускает ваше приложение при запуске. Тогда он автоматически появится в списке. Потому что приложение безопасности Mi4i проверяет то разрешение, которое mcd упоминает в своем ответе.   -  person V.J.    schedule 31.08.2015
comment
не могли бы вы дать код разрешения?   -  person Chirag Kheni    schedule 31.08.2015
comment
@ChiragKheni Я также хочу включить автозапуск для своего приложения. Вы достигли этого? Помоги мне.   -  person Nitesh Kumar    schedule 27.11.2015
comment
@Chirag сталкивается с той же проблемой, у вас есть какое-нибудь решение?   -  person Rushikesh Talokar    schedule 22.02.2016
comment
Извините, до сих пор не найдено решение для включения опции автоматического запуска программно. мы можем уведомить пользователя для этого конкретного устройства о включении автоматического запуска вручную.   -  person Chirag Kheni    schedule 15.04.2016
comment
@Chirag, столкнулся с той же проблемой. Вы решили это?   -  person Madhuri    schedule 21.04.2016
comment
Вы нашли что-нибудь или нет?? если да, то прокомментируйте.   -  person Sudhanshu Gaur    schedule 27.07.2016


Ответы (3)


Попробуйте это ... это работает для меня. Откроется экран для включения автозапуска.

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);
        }
person Mohit Mathur    schedule 17.01.2017
comment
Как проверить, включено ли разрешение автозапуска или нет. Этот код всегда открывает экран разрешения автозапуска. Я хочу показывать этот экран только тогда, когда приложение не включено для автозапуска. - person Ved; 22.02.2017
comment
@ved Я тоже ищу то же самое ... более того, этот код не может найти конкретную активность в некоторых телефонах MI. Я все еще ищу код, который устранит эту проблему. - person Mohit Mathur; 24.02.2017
comment
Ребята, вы нашли какое-нибудь решение? - person b devloper; 29.04.2017
comment
Как узнать в каком телефоне нужно делать код автозапуска? Значит знаю В MI device требуется для автозапуска Но не знаю в других . - person b devloper; 29.04.2017

Несколько OEM-производителей, включая (RedMi), настраивают ПЗУ стека для оптимизации батареи / памяти и заблокировали обратные вызовы «onDestroy ()» и «onTaskRemoved». Как пользователь, вы можете предотвратить уничтожение службы приложения, заблокировав приложение. Или добавьте приложение в белый список, включив параметр «Автозапуск» для приложения. Программно вы можете предложить пользователю включить автозапуск для приложения Подробности см. здесь

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

person Akki    schedule 01.06.2019

Прежде всего вам нужно разрешение на манифест:

 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

Еще в манифесте вам нужно добавить приемник вещания в свой

<application>

элемент:

<receiver android:name="net.example.MyOwnBroadcastReceiver">  
<intent-filter>  
    <action android:name="android.intent.action.BOOT_COMPLETED" />  
</intent-filter>  

after that in your Class "MyOwnBroadcastReceiver"

package net.example;

public class MyOwnBroadcastreceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Intent startServiceIntent = new Intent(context, MyService.class);
        context.startService(startServiceIntent);
    }
}

Вы можете получить дополнительную помощь по следующим ссылкам:

http://blog.gregfiumara.com/archives/82

http://techblogon.com/android-start-service-on-boot/

person mcd    schedule 31.08.2015
comment
Я уже добавил код выше, но автозапуск не включен по умолчанию в Android MI 4i. - person Chirag Kheni; 31.08.2015