java Android广播接收器未记录消息
我有一个service
,其中包含一个Broadcast Receiver
,用于查找Wi-Fi状态的更改,并在启用或禁用时进行祝酒。但是,我的代码不会烘烤wi-fi状态更改消息,尽管它会烘烤与服务创建、启动和销毁相关的消息
WLANService.java
public class WLANService extends Service {
public WLANService() {
}
@Override
public IBinder onBind(Intent intent) {
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public void onCreate() {
super.onCreate();
Toast.makeText(this, "Service Created!", Toast.LENGTH_LONG).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
int state = 0;
String message = intent.getStringExtra("message");
Toast.makeText(this, "Service Started & " + message, Toast.LENGTH_LONG).show();
BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
WifiManager wifiManager = (WifiManager) getApplicationContext().getSystemService(Context.WIFI_SERVICE);
if(wifiManager.isWifiEnabled()) {
Log.i("Wi-Fi-State", "Wi-Fi is On!");
}else {
Log.i("Wi-Fi-State", "Wi-Fi is Off!");
}
}
};
return START_STICKY;
}
@Override
public void onDestroy() {
Toast.makeText(this, "Service Destroyed!", Toast.LENGTH_LONG).show();
}
}
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startTheService(View v) {
Intent intent = new Intent(this, WLANService.class);
intent.putExtra("message", "I got your message!");
startService(intent);
}
public void stopTheService(View v) {
stopService(new Intent(this, WLANService.class));
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
package="com.wifiservice">
<uses-permission 安卓:name="安卓.permission.ACCESS_WIFI_STATE" />
<uses-permission 安卓:name="安卓.permission.CHANGE_WIFI_STATE" />
<uses-permission 安卓:name="安卓.permission.ACCESS_NETWORK_STATE" />
<uses-permission 安卓:name="安卓.permission.CHANGE_NETWORK_STATE" />
<application
安卓:allowBackup="true"
安卓:icon="@mipmap/ic_launcher"
安卓:label="@string/app_name"
安卓:supportsRtl="true"
安卓:theme="@style/AppTheme">
<activity 安卓:name=".MainActivity">
<intent-filter>
<action 安卓:name="安卓.intent.action.MAIN" />
<category 安卓:name="安卓.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
安卓:name=".WLANService"
安卓:enabled="true"
安卓:exported="false">
</service>
</application>
</manifest>
# 1 楼答案
你可以这样做:
主要活动: