티스토리 뷰
[Android] 부팅 후 앱 자동 실행
안드로이드 단말에서 부팅 완료 된 후에 자동으로 특정 어플리케이션을 실행시키는 방법
상단 알림바, 위젯, 서비스단에서 실행되는 App들은 부팅 후 자동 실행된다.
아래 방법은 특정 앱을 구동 후에 자동으로 실행 되도록 하는 방법이다.
BroadcastReceiver 를 이용 한다.
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class Starter extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// TODO Auto-generated method stub
String action = intent.getAction();
if(action.equals("android.intent.action.BOOT_COMPLETED")) {
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
//context.startService(it); /* Service인 경우 에는 이와 같이 실행 */
}
}
}
위와 같이 브로드캐스트리시버를 사용하게 되면
부팅 완료후에 BOOT_COMPLETED ACTION Intent 를 받게 되며 이때 Receiver를 등록하여 해당 ACTION 을 받아서 MainActivity를 호출하게 한다.
그럼 부팅 완료 후 호출한 액티비티를 실행할 것이다.
Manifest.xml 에 리시버 등록
<!-- AndroidManifest.xml -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@android:style/Theme.Holo"
android:largeHeap="true"
android:hardwareAccelerated="true">
<receiver
android:name=".Starter"
android:enabled="true"
android:exported="false"
android:label="Starter" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity>
....
</activity>
</application>
android.permission.RECEIVE_BOOT_COMPLETED user permission 추가
어플리케이션 태그 내에 receiver 태그를 위와 같이 추가.
기기를 재부팅시켜주면 구동 후 앱이 자동적으로 실행되는 것을 볼 수 있습니다.
* 잠금화면이 풀려있어야 정상적으로 실행되고 잠금화면이 설정되었다면 잠금 해제 시에 실행 됩니다.
'Computer > Android' 카테고리의 다른 글
[Android] 슬립 화면 깨우기 (0) | 2021.01.14 |
---|---|
[Android] Multi Touch Event Example (0) | 2020.12.05 |
[Android] Market App 종류 확인하기 (0) | 2020.11.17 |
[Android] KeyEvent 강제 발생 (2) | 2020.11.07 |
[Android] key event value (0) | 2020.11.07 |
댓글