1. 程式人生 > >安卓Broadcast Receiver(廣播消息)應用實例

安卓Broadcast Receiver(廣播消息)應用實例

廣播 文件 item pla 技術 fin es2017 網絡 dia

利用Intent發送廣播消息,廣播消息的內容可以是應用程序相關的數據信息,也可以是Android的系統消息例如:網絡連接變化、電池電量變化、接收短信或系統設置變化。

截圖:

技術分享

代碼:(主Activity)

 1 package com.example.playmessage;
 2 
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.os.Bundle;
 6 import android.view.Menu;
 7 import android.view.MenuItem;
8 import android.view.View; 9 import android.view.View.OnClickListener; 10 import android.widget.Button; 11 12 public class MainActivity extends Activity { 13 Button ob1; 14 Intent intent; 15 @Override 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState);
18 setContentView(R.layout.activity_main); 19 20 ob1=(Button) findViewById(R.id.bu1); //按鈕 21 intent=new Intent("com.example.playmessage"); //設置唯一標識 22 ob1.setOnClickListener(new OnClickListener() { 23 24 @Override 25 public
void onClick(View v) { 26 // TODO Auto-generated method stub 27 sendBroadcast(intent); //發送廣播 28 29 } 30 }); 31 32 33 } 34 35 36 }

Broadcast-Receiver

 1 package com.example.playmessage;
 2 
 3 import android.content.BroadcastReceiver;
 4 import android.content.Context;
 5 import android.content.Intent;
 6 import android.media.MediaPlayer;
 7 import android.widget.Toast;
 8 
 9 public class MyReceiver extends BroadcastReceiver {
10     public MyReceiver() {
11     }
12      MediaPlayer play;
13     @Override
14     public void onReceive(Context context, Intent intent) {
15         // TODO: This method is called when the BroadcastReceiver is receiving
16         // an Intent broadcast.
17         Toast.makeText(context, "收到廣播,播放音樂",2).show();;
18         play=MediaPlayer.create(context,R.raw.sleep);
19         play.start();
20         
21     }
22 }

需要在清單文件中Broadcast-Receiver下添加Intent的過濾

<intent-filter>

<action android:name=" 設置的唯一標識 " />

<intent-filter>

安卓Broadcast Receiver(廣播消息)應用實例