<receiver android:name="myRecevice"> //继承BroadcastReceiver,重写onReceiver方法 <intent-filter> <action android:name="com.lc.test"/> //使用过滤器,接收指定action广播 </intent-filter> </receiver>
IntentFilter intentFilter = new IntentFilter(); //为BroadcastReceiver指定action,使之用于接收同action的广播 intentFilter.addAction(String); registerReceiver(BroadcastReceiver,intentFilter);
@Override
protected void onDestroy() {
super.onDestroy();
unregisterReceiver(receiver);
}
//定义的为:public static final String //ACTION_REGISTER_SUCCESS_FINISH="register.success.finish"; Constants.ACTION_REGISTER_SUCCESS_FINISH.equals(intent.getAction())
public class MyBroadcastReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (intent != null && Constants.ACTION_REGISTER_SUCCESS_FINISH.equals(intent.getAction())) {
finish();
}
}
}
private MyBroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter();
filter.addAction(BmobConstants.ACTION_REGISTER_SUCCESS_FINISH); //添加action
registerReceiver(receiver, filter); //注册
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="register.success.finish"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Intent intent = new Intent("register.success.finish");
intent.putExtra("msg", "hello receiver.");
sendBroadcast(intent); //发送广播
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class FirstReceiver extends BroadcastReceiver {
private static final String TAG = "NormalBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, "FirstReceiver: " + msg);
}
}
public class SecondReceiver extends BroadcastReceiver {
private static final String TAG = "NormalBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, "SecondReceiver: " + msg);
}
}
public class ThirdReceiver extends BroadcastReceiver {
private static final String TAG = "NormalBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, "ThirdReceiver: " + msg);
}
}
abortBroadcast();
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class FirstReceiver extends BroadcastReceiver {
private static final String TAG = "OrderedBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = intent.getStringExtra("msg");
Log.i(TAG, "FirstReceiver: " + msg);
Bundle bundle = new Bundle();
bundle.putString("msg", msg + "@FirstReceiver");
setResultExtras(bundle);
}
}
public class SecondReceiver extends BroadcastReceiver {
private static final String TAG = "OrderedBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = getResultExtras(true).getString("msg");
Log.i(TAG, "SecondReceiver: " + msg);
Bundle bundle = new Bundle();
bundle.putString("msg", msg + "@SecondReceiver");
setResultExtras(bundle);
}
}
public class ThirdReceiver extends BroadcastReceiver {
private static final String TAG = "OrderedBroadcast";
@Override
public void onReceive(Context context, Intent intent) {
String msg = getResultExtras(true).getString("msg");
Log.i(TAG, "ThirdReceiver: " + msg);
}
}
<receiver android:name=".FirstReceiver">
<intent-filter android:priority="1000">
<action android:name="android.intent.action.MY_BROADCAST"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name=".SecondReceiver">
<intent-filter android:priority="999">
<action android:name="android.intent.action.MY_BROADCAST"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<receiver android:name=".ThirdReceiver">
<intent-filter android:priority="998">
<action android:name="android.intent.action.MY_BROADCAST"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
public void send(View view) {
Intent intent = new Intent("android.intent.action.MY_BROADCAST");
intent.putExtra("msg", "hello receiver.");
sendOrderedBroadcast(intent, "scott.permission.MY_BROADCAST_PERMISSION");
}
<permission android:protectionLevel="normal"
android:name="scott.permission.MY_BROADCAST_PERMISSION" />
<uses-permission android:name="scott.permission.MY_BROADCAST_PERMISSION" />
abortBroadcast();
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class BootCompleteReceiver extends BroadcastReceiver {
private static final String TAG = "BootCompleteReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Intent service = new Intent(context, MsgPushService.class);
context.startService(service);
Log.i(TAG, "Boot Complete. Starting MsgPushService...");
}
}
import android.app.Service;
import android.content.Intent;
import android.os.IBinder;
import android.util.Log;
public class MsgPushService extends Service {
private static final String TAG = "MsgPushService";
@Override
public void onCreate() {
super.onCreate();
Log.i(TAG, "onCreate called.");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i(TAG, "onStartCommand called.");
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}
<!-- 开机广播接受者 -->
<receiver android:name=".BootCompleteReceiver">
<intent-filter>
<!-- 注册开机广播地址-->
<action android:name="android.intent.action.BOOT_COMPLETED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<!-- 消息推送服务 -->
<service android:name=".MsgPushService"/>
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.util.Log;
import android.widget.Toast;
public class NetworkStateReceiver extends BroadcastReceiver {
private static final String TAG = "NetworkStateReceiver";
@Override
public void onReceive(Context context, Intent intent) {
Log.i(TAG, "network state changed.");
if (!isNetworkAvailable(context)) {
Toast.makeText(context, "network disconnected!", 0).show();
}
}
/**
* 网络是否可用
*/
public static boolean isNetworkAvailable(Context context) {
ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo[] info = mgr.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
return false;
}
}
<receiver android:name=".NetworkStateReceiver">
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.BatteryManager;
import android.util.Log;
public class BatteryChangedReceiver extends BroadcastReceiver {
private static final String TAG = "BatteryChangedReceiver";
@Override
public void onReceive(Context context, Intent intent) {
int currLevel = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0); //当前电量
int total = intent.getIntExtra(BatteryManager.EXTRA_SCALE, 1); //总电量
int percent = currLevel * 100 / total;
Log.i(TAG, "battery: " + percent + "%");
}
}
<receiver android:name=".BatteryChangedReceiver">
<intent-filter>
<action android:name="android.intent.action.BATTERY_CHANGED"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
Intent batteryIntent = getApplicationContext().registerReceiver(null,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
int currLevel = batteryIntent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
int total = batteryIntent.getIntExtra(BatteryManager.EXTRA_SCALE, 1);
int percent = currLevel * 100 / total;
Log.i("battery", "battery: " + percent + "%");
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有