android 廣播的簡單使用;

最簡單的廣播使用方式;

public class MainActivity extends AppCompatActivity {
   private Demo1Recceiver receiver; //定義廣播接收變量
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        IntentFilter filter=new IntentFilter("com.example.myapplication");//過濾器,限制只接收myapplication的廣播
// IntentFilter filter=new IntentFilter(); //接收系統廣播的模式;
 //filter.addAction(getIntent().ACTION_AIRPLANE_MODE_CHANGED);//各種系統廣播

        Demo1Recceiver receiver = new Demo1Recceiver();
        registerReceiver(receiver,filter);//註冊的廣播接收器

        Button button=findViewById(R.id.button);


        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent("com.example.myapplication");//和註冊廣播接收器時對應;
                intent.putExtra("temp","Lin");//通過廣播準備發送的信息
                sendBroadcast(intent);//發送廣播
            }
        });

    }


    @Override
    //釋放註冊的廣播接收器;
    protected void onDestroy() {
        super.onDestroy();
        unregisterReceiver(receiver);
    }

}

//廣播接收器類
class Demo1Recceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.e("onReceive:","內部的接收到:"+intent.getStringExtra("temp").toString());//廣播接收到的信息;
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章