在 Android 中,sendBroadcast
是一個用于發送廣播消息的方法。它允許您將數據從一個組件傳遞到另一個組件,而無需顯式地調用它們。這在許多場景中非常有用,例如通知、數據更新等。
以下是如何使用 sendBroadcast
的基本步驟:
Intent
類的構造函數來創建一個新的 Intent。Intent intent = new Intent("com.example.MY_ACTION");
在這個例子中,我們創建了一個 Intent,其動作為 "com.example.MY_ACTION"
。您可以根據需要更改這個動作字符串。
putExtra
方法。這將把數據添加到 Intent 中,并在接收方可用。intent.putExtra("key", "value");
在這個例子中,我們添加了一個名為 "key"
的額外數據,其值為 "value"
。您可以根據需要更改鍵和值。
sendBroadcast
方法發送廣播。這將觸發所有已注冊的廣播接收器,并將 Intent 傳遞給它們。sendBroadcast(intent);
這是一個完整的示例:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 創建一個 Intent 對象
Intent intent = new Intent("com.example.MY_ACTION");
// 添加額外數據(可選)
intent.putExtra("key", "value");
// 發送廣播
sendBroadcast(intent);
}
}
要接收這個廣播,您需要創建一個廣播接收器,并在 AndroidManifest.xml 文件中注冊它。這是一個簡單的廣播接收器示例:
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// 獲取額外數據(如果有)
String value = intent.getStringExtra("key");
// 處理接收到的廣播
Toast.makeText(context, "Received broadcast with action " + intent.getAction() + " and value " + value, Toast.LENGTH_SHORT).show();
}
}
在 AndroidManifest.xml 中注冊廣播接收器:
<application
...
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="com.example.MY_ACTION" />
</intent-filter>
</receiver>
</application>
現在,當 MainActivity
發送廣播時,MyBroadcastReceiver
將接收到它,并顯示一個 Toast 消息。