안드로이드 에뮬레이터가 부팅을 완료 한 후 안드로이드 응용 프로그램을 자동 시작하는 방법을 모르겠습니다. 누구든지 나를 도울 코드 스 니펫이 있습니까?Android 애플리케이션을 자동 시작하는 방법?
답변
자동 부팅으로 전화 부팅시 자동 시작을 의미하는 경우 BOOT_COMPLETED
의도에 대해 BroadcastReceiver를 등록해야합니다. 안드로이드 시스템은 부트가 완료되면 그 의도를 브로드 캐스트합니다.
귀하가 원하는대로 할 수있는 서비스를 시작할 수 있습니다.
항상 유휴 상태에서도 시스템 리소스를 소모하므로 일반적으로 전화로 서비스가 실행되는 것은 좋지 않습니다. 필요한 경우에만 서비스/응용 프로그램을 시작한 다음 필요하지 않은 경우 중지하십시오.
이<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
(물론 앱에서 사용하는 다른 모든 권한을 나열해야합니다) :
당신은 매니페스트 권한 항목을 추가해야합니다.
그런 다음 BroadcastReceiver 클래스를 구현하면 간단하고 빠른 실행 파일이어야합니다. 가장 좋은 방법은이 수신기에 알람을 설정하여 서비스를 깨우는 것입니다 (Prahast가 작성한대로 계속 실행해야 할 필요가없는 경우).
public class BootUpReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
PendingIntent pi = PendingIntent.getService(context, 0, new Intent(context, MyService.class), PendingIntent.FLAG_UPDATE_CURRENT);
am.setInexactRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + interval, interval, pi);
}}
그런 다음 매니페스트 파일에 수신기 클래스를 추가 :
이<receiver android:enabled="true" android:name=".receivers.BootUpReceiver"
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>
을 편집 AndroidManifest.xml
추가 RECEIVE_BOOT_COMPLETED
허가
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
편집에 대한 AndroidManifest.xml
응용 프로그램 부분 권한
<receiver android:enabled="true" android:name=".BootUpReceiver"
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>
아래 활동으로 작성하십시오.
public class BootUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MyActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
잘 동작합니다. 감사! –
항상이 주제로 들어갑니다. 나는 내 코드를 여기에 넣어서 다음 번에 i (또는 다른)가 사용할 수있게 할 것이다. (Phew는 내 저장소 코드를 검색하는 것을 싫어합니다.)
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
수신기 및 서비스를 추가합니다 :
<receiver android:enabled="true" android:name=".BootUpReceiver"
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>
<service android:name="Launcher" />
만들기 클래스 실행기 :
public class Launcher extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
new AsyncTask<Service, Void, Service>() {
@Override
protected Service doInBackground(Service... params) {
Service service = params[0];
PackageManager pm = service.getPackageManager();
try {
Intent target = pm.getLaunchIntentForPackage("your.package.id");
if (target != null) {
service.startActivity(target);
synchronized (this) {
wait(3000);
}
} else {
throw new ActivityNotFoundException();
}
} catch (ActivityNotFoundException | InterruptedException ignored) {
}
return service;
}
@Override
protected void onPostExecute(Service service) {
service.stopSelf();
}
}.execute(this);
return START_STICKY;
}
}
안드로이드 재부팅 후 작업을 수행하는 클래스 BootUpReceiver
만들기
는 :
당신이 잘못 @AdamCpublic class BootUpReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
Intent target = new Intent(context, MainActivity.class);
target.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(target);
}
}
- 1. Opensuse에서 daemontools를 자동 시작하는 방법
- 2. Android SQLite 데이터베이스에서 자동 증가 ID를 1에서 다시 시작하는 방법
- 3. 인 텐트를 통해 Android 애플리케이션을 시작하는 데 문제가 있습니다.
- 4. Android : eMail 연락처를 시작하는 방법?
- 5. 설치시 android 서비스를 시작하는 방법
- 6. Android 블루투스 - 페어링을 시작하는 방법
- 7. Android : 백그라운드에서 활동을 시작하는 방법?
- 8. Android : 사전로드 된 애플리케이션을 추가하는 방법
- 9. 다른 계정으로 Android 애플리케이션을 게시하는 방법
- 10. Android 앱에서 모든 활성 애플리케이션을 닫는 방법?
- 11. Android - 애플리케이션을 통해 연락처 화면에 전화하는 방법
- 12. Android - 애플리케이션을 기기로 전송
- 13. Android : 애플리케이션을 필터링하십시오.
- 14. Android 애플리케이션을 설치할 때?
- 15. iPhone Sdk에서 비디오 자동 녹음을 시작하는 방법
- 16. 시스템을 재시작 할 때 자동 시작하는 방법
- 17. Android의 연락처에서 애플리케이션을 시작하는 방법은 무엇입니까?
- 18. Android Maven 플러그인 - 앱을 배포 한 후 자동으로 시작하는 방법
- 19. 서비스 전용 Android 앱을 시작하는 방법
- 20. android 2.1에서 QuickContact 작업을 시작하는 방법
- 21. Android : 서비스에서 AIDL 바인딩 해제를 시작하는 방법?
- 22. Android - 패키지 이름으로 타사 앱을 시작하는 방법?
- 23. 안드로이드 개발자 프리랜서로 시작하는 방법
- 24. Android 애플리케이션을 HTTP 서버에 연결
- 25. Android 애플리케이션을 '레이어'할 수 있습니까?
- 26. Xcode를 사용하여 Android 애플리케이션을 만드시겠습니까?
- 27. 자동 테스트를 시작하는 방법은 무엇입니까?
- 28. 부모로부터 PreferenceScreen을 시작하는 방법
- 29. 이클립스로 안드로이드 애플리케이션을 만드는 방법
- 30. BroadcastReceiver에서 활동을 시작하는 방법
- Prashast의 답변을 참조하십시오. –
@Rajapandian Owner는 해결책 인 경우 답변을 수락하거나 의견에 귀하의 기대치를 언급해야합니다. 다른 사람들에게 도움이 될 것입니다. – naveejr
http : // karanbalkar.co.kr/2014/01/autostart-application-at-boot-in-android/ –