android 스튜디오에서 방송하는 동적 등록과 정적 등록의 차이 및 프레젠테이션 코드

동적 등록: 주로 이벤트 코드를 수정하여 수신 작업을 완성합니다.
정적 등록: 수신기를 만들고 manfest를 수정합니다.xml의 내용입니다.
동적 등록 방식은 매우 정교하고 편리하지만 동적 등록은 프로그램이 시작된 후에야 방송을 받을 수 있다. 이것은 onCreate의 방법에 쓰여 있기 때문에 정적 등록 방식은 프로그램이 시작되지 않았을 때 해당하는 방송을 받을 수 있다. 이것이 바로 그들 사이의 관건적인 차이점이다.
동적 등록 단계:
1. 일치하는 브로드캐스트를 찾기 위한 Intent 필터를 정의합니다.
2. 하나의 클래스를 정의하면 내부 클래스의 방식으로 BroadcastReceiver를 계승하고 그 중의 onReceive 방법을 복사하여 자신의 수신 후 처리 논리를 쓸 수 있다.
3. 목적이 있고 처리 동작이 있으면 우리는 상기 두 개의 매개 변수를registerReceiver에 전송하면 등록을 완성할 수 있다.
4. 등록을 완료한 후에 활동에서 탈퇴할 때의 등록을 해제해야 하기 때문에 onDestroy에 등록을 해제하는 것을 기록합니다.
public class Main2Activity extends AppCompatActivity {
    private IntentFilter intentFilter;
    private  NetworkChangeReceiver networkChangeReceiver;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        intentFilter=new IntentFilter();
        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");//     
        networkChangeReceiver=new NetworkChangeReceiver();//         
        registerReceiver(networkChangeReceiver,intentFilter);//  
    }
    //       
    protected void onDestroy()
    {
        super.onDestroy();
        unregisterReceiver(networkChangeReceiver);
    }
    //          
    class NetworkChangeReceiver extends BroadcastReceiver
    {
        public void onReceive(Context context, Intent intent)
        {
            Toast.makeText(context,"default",Toast.LENGTH_SHORT).show();
        }
    }
}


정적 등록 단계:
1. 메인 이벤트가 포함된 가방에서 오른쪽으로 누르면 new,other,Broadcast Receiver,exported:본 프로그램 이외의 방송을 받을 수 있는지 여부를 표시하고,Enabled:이 방송을 사용할 수 있는지 여부를 표시하며, 우리는 그들을 모두 선택한다.
2. 이 수신기의 onReceive 방법에서 수신 후의 처리 동작을 기록합니다.
public class MyReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,"receive",Toast.LENGTH_SHORT).show();
        //       Toast  receive
        throw new UnsupportedOperationException("Not yet implemented");
    }
}

3. manfest에서 해당하는 권한을 얻는다.
당신의 조작에 필요한 권한은 그 권한을 기입하세요
4. manfest에서receiver에서 정의

동적 intent Filter와 유사한 어떤 방송을 받을지 지정하는 데 사용됩니다.

좋은 웹페이지 즐겨찾기