Учимся автоматически запускать приложение вместе с устройством
Главная » Учимся автоматически запускать приложение вместе с устройством

В этом уроке мы научимся запускать свое приложение вместе с загрузкой системы. То есть, когда вы перезапустите устройство, то наше приложение автоматически запуститься. Это может пригодиться в том случае, если вы создали что то типа антивируса, лаунчера или еще что то такое, что должно запускаться при запуске системы Android на устройстве. 

Реализация этой возможности довольно проста. В своем приложении мы должны прослушивать действие BOOT_COMPLETED и настраивать реакцию приложения в случае выполнения этого действия. Прослушивать это действие можно, используя BroadcastReceiver, который и будет запускать activity нашего приложения после того, как получит сигнал о свершении действия BOOT_COMPLETED.

Создадим простое приложение, состоящее из всего одного текстового объекта TextView и будем запускать его при загрузке Android системы на устройстве.

Создаем новый проект, открываем файл activity_main.xml и добавляем туда элемент TextView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <TextView
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Приложение запущено"
 android:padding="10pt"
 android:textSize="12pt"
 android:layout_gravity="center"/>
</LinearLayout>

Файл MainActivity.java в этот раз выглядит предельно просто:

import android.app.Activity;
import android.os.Bundle;

public class MainActivity extends Activity{
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 }
}

Теперь беремся за создание того самого класса BroadcastReceiver. Он также будет предельно прост и состоит по сути всего из одного действия - запуска основной activity приложения с помощью намерения Intent. Создаем новый класс под названием AutoStart.java, который расширяется от BroadcastReceiver и добавляем в него следующее:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AutoStart extends BroadcastReceiver{

 @Override
 public void onReceive(Context context, Intent intent) {
 Intent intent1 = new Intent(context, MainActivity.class);
 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 context.startActivity(intent1);
 }
}

Все что осталось сделать, это объявить о созданном классе в файле AndroidManifest.xml. Объявляем наш приемник события загрузки системы BOOT_COMPLETED, который будет получен программой с помощью intent, а также настраиваем разрешение на прослушивание действия загрузки системы RECEIVE_BOOT_COMPLETED:

<receiver
 android:name=".AutoStart"
 android:enabled="true"
 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>

Вот и все, чтобы протестировать наше чудо Android приложение, нужно установить его на устройство и перезапустить аппарат - при запуске вы увидите, что вместе с системой запустилось и наше приложение!

Категория: Уроки программирования | Просмотров: 1072 | Добавил: Oleg | Теги: запуск приложения, Android приложение, Автозапуск Android приложения | Рейтинг: 5.0/1
Всего комментариев: 0
avatar