android activity/서비스 켜면 자동으로 실행
코드는 다음과 같습니다.
먼저
BroadcastReceiver
에서 시스템 시작 후 보내는 방송 메시지를 감청하기 위한 새로운 종류가 파생되었다android.intent.action.BOOT_COMPLETED
。
BootReceiver.java: import android. content. BroadcastReceiver;
import android. content. Context ;
import android. content. Intent;
import android. util . Log ;
public class BootReceiver extends BroadcastReceiver {
public void onReceive( Context context , Intent intent) {
if ( intent. getAction ( ) . equals ( "android.intent.action.BOOT_COMPLETED" ) )
{
Log . d( "BootReceiver" , "system boot completed" ) ;
Intent newIntent = new Intent( context , FirstRun. class ) ;
newIntent. setAction ( "android.intent.action.MAIN" ) ; //MyActivity action defined in AndroidManifest.xml
newIntent. addCategory( "android.intent.category.LAUNCHER" ) ; //MyActivity category defined in AndroidManifest.xml
newIntent. setFlags( Intent. FLAG_ACTIVITY_NEW_TASK) ; //If activity is not launched in Activity environment, this flag is mandatory to set
context . startActivity( newIntent) ;
//if you want to start a service, follow below method:
/******************************************************* Intent service = new Intent(yourService.ACTION_START); service.setClass(context, yourService.class); context.startService(service);
******************************************************/
}
}
}
다음 클래스는 시스템이 시작된 후에 우리가 실행해야 하는activity를 감청하는 것입니다.FirstRun.java
import android. app. Activity ;
import android. os. Bundle;
public class FirstRun extends Activity {
public void onCreate( Bundle savedInstanceState) {
super . onCreate( savedInstanceState) ;
setContentView( R. layout . main) ;
}
}
물론, 우리는 설정 파일을 바꾸어야 한다. 주의해야 할 것은, manifest에 있다.xml에
< uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" > < / uses-permission>
Manifest를 추가해야 합니다.xml < ? xml version = "1.0" encoding = "utf-8" ? >
< manifest xmlns:android= "http://schemas.android.com/apk/res/android"
package= "com.service.prac"
android:versionCode= "1"
android:versionName= "1.0" >
< application android:icon= "@drawable/icon" android:label= "@string/app_name" >
< receiver android:name= ".BootReceiver"
android:label= "@string/app_name" >
< intent-filter>
< action android:name= "android.intent.action.BOOT_COMPLETED" / >
< category android:name= "android.intent.category.LAUNCHER" / >
< / intent-filter>
< / receiver>
< activity android:name= ".FirstRun" >
< intent-filter>
< action android:name= "android.intent.action.MAIN" / >
< category android:name= "android.intent.category.LAUNCHER" / >
< / intent-filter>
< / activity>
< / application>
< uses-sdk android:minSdkVersion= "3" / >
< uses-permission android:name= "android.permission.RECEIVE_BOOT_COMPLETED" > < / uses-permission>
< / manifest>
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.