Как запустить приложение при загрузке в 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 ответов выше.

Скажите, есть ли у вас проблемы без ответа после прочтения этих =].

Другие вопросы по тегам