android的意图
16lz
2021-01-23
这是动态广播 IntentFilter filter = new IntentFilter(); filter.addAction(WifiManager.ACTION_PICK_WIFI_NETWORK); registerReceiver(new WifiReceiver(), filter);//静态广播直接可以这样用 Intent intent = new Intent(); intent.setAction("cn.programmer.CUSTOM_INTENT"); intent.setComponent( new ComponentName( "com.app.myapplication" , "com.app.myapplication.MyReceiver") );//系统高级点的需要指明包名 sendBroadcast(intent); // 动态接收广播接收class WifiReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { WifiManager mWifiManager = (WifiManager)getApplicationContext().getSystemService(Context.WIFI_SERVICE); String action = intent.getAction(); //textView.append(action); Log.i("WifiReceiver", action); // / Wifi 状态变化 if (WifiManager.SUPPLICANT_STATE_CHANGED_ACTION.equals(action)) { WifiInfo info = mWifiManager.getConnectionInfo(); SupplicantState state = info.getSupplicantState(); if (state == SupplicantState.COMPLETED) { // textView.append("(验证成功)"); Log.i("WifiReceiver", "(验证成功)"); } int errorCode = intent.getIntExtra( WifiManager.EXTRA_SUPPLICANT_ERROR, -1); if (errorCode == WifiManager.ERROR_AUTHENTICATING) { // textView.append("(验证失败)"); Log.i("WifiReceiver", "(验证失败)"); } } }}//动态广播之后要卸掉 应该是怕占用内存 @Overrideprotected void onDestroy() { super.onDestroy(); unregisterReceiver(WifiReceiver);}
//
//这是静态广播
public class MyBroadcast extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals(“COM.USER.LOGIN”)){
context.startActivity(new Intent(context, LoginActivity.class));
}
}
//需要在androidMainfest里面注册
更多相关文章
- Android 动态注册监听网络变化实例详解
- Android在程序中动态生成控件,动态布局
- Android 动态设置全屏,退出全屏
- Android实现动态切换横竖屏,保存横竖屏数据(用Preference存储)
- Android C++ 动态加载so
- android 中动态创建控件
- 给动态生成的View添加水波纹效果
- Android 动态生成多行多列控件
- 【移动安全】Android App Smail代码动态跟踪调试方法