시스템 시작시 응용 프로그램이 자동으로 시작되기를 원합니다. 아무도 그렇게하는 법을 말해 줄 수 있습니까?시작시 응용 프로그램 시작
저를 도우려는 데 시간을 할애 해 주셔서 미리 감사드립니다.
시스템 시작시 응용 프로그램이 자동으로 시작되기를 원합니다. 아무도 그렇게하는 법을 말해 줄 수 있습니까?시작시 응용 프로그램 시작
저를 도우려는 데 시간을 할애 해 주셔서 미리 감사드립니다.
첫째, 당신은 매니페스트에 권한이 필요합니다
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
또한, 매니페스트에 서비스를 정의하고 부팅 완료 조치를 수신 :
<service android:name=".MyService" android:label="My Service">
<intent-filter>
<action android:name="com.myapp.MyService" />
</intent-filter>
</service>
<receiver
android:name=".receiver.StartMyServiceAtBootReceiver"
android:enabled="true"
android:exported="true"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
그런 다음 당신이 필요 BOOT_COMPLETED 조치를 ^을 서비스를 시작하는 수신자를 정의하십시오.
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent serviceIntent = new Intent("com.myapp.MySystemService");
context.startService(serviceIntent);
}
}
}
이제 전화가 시작될 때 서비스가 실행 중이어야합니다. 여기
는
의 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.practice" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AutoStartExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="AutoStart"></receiver>
<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
AutoStartExampleActivity 파일
package com.practice;
import android.app.Activity;
import android.os.Bundle;
public class AutoStartExampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
브로드 캐스트 리시버 코드,
package com.practice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AutoStart extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
System.out.println ("Application Started");
// put your TimerTask calling class here
try
{
Intent myIntent = new Intent (context, AutoStartExampleActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
catch (Exception e)
{
System.out.println (" Error while Starting Activity " + e.toString());
}
}
}
예제 코드를 작업 완료