android activity/서비스 켜면 자동으로 실행

12583 단어
인터넷의 몇 가지 예를 보았고, 시스템이 시작된 후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>

좋은 웹페이지 즐겨찾기