Как запустить приложение при загрузке в Android?
Я пытаюсь сделать приложение в Titanium, которое запускается при запуске, т.е. при запуске мобильного устройства. Я видел код, написанный в нескольких местах, в котором указано, что нужно сделать запись в файл манифеста andsoid, и какой-то код
@Override
public void onReceive(Context context, Intent intent) {
Intent myIntent = new Intent(context, YourActivity.class);
context.startActivity(myIntent);
}
Но я не могу понять, где разместить этот код. В каком файле?? и где?
2 ответа
Вы должны прослушать фильтр намерений BOOT_COMPLETED. Кусок кода, который вы только что процитировали, взят из BroadcastReceiver, который будет запускаться при загрузке устройства.
Этот класс должен расширяться от BroadcastReceiver
:
public class BootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
...
}
}
Затем вы должны зарегистрировать этого получателя в файле манифеста, выполнив следующие действия:
<receiver
android:enabled="true"
android:name="your_package.BootReceiverClassName"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</receiver>
Также вам необходимо следующее разрешение:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
Кстати, вы должны убедиться, что приложение не установлено на SD-карте, иначе оно не будет работать (но есть возможные обходные пути).
Эти 2 ответа сделают то, что вам нужно:
Запустите BroadcastReceiver после некоторой системной трансляции: /questions/36383697/sluzhba-ne-perezapuskaetsya-posle-sbrosa-ochistit-pamyat-appwidget/36383715#36383715
Запустите BroadcastReceiver при загрузке: /questions/36383697/sluzhba-ne-perezapuskaetsya-posle-sbrosa-ochistit-pamyat-appwidget/36383723#36383723
в вашем BroadcastReceiver вы будете реализовывать, просто вызывая любую услугу / активацию, в которой вы нуждаетесь.
Там пример для этого в вопросе для 2 ответов выше.
Скажите, есть ли у вас проблемы без ответа после прочтения этих =].