我尝试开发一个将来可以运行服务的应用程序,即我连接到网络时要运行的服务。此刻,我只需要接收者打印已连接或已断开连接的日志(使用react-native log-android),或显示带有消息的吐司,所有这些都在后台而不是在前台。>
尝试以下操作,首先将接收器放入AndroidManifest.xml
<application>
...
<receiver android:name="com.air_fighers_react_native.receiver.NetworkChangeReceiver">
<intent-filter>
<action android:name="android.net.conn.CONECTIVITY_CHANGE"/>
</intent-filter>
</receiver>
</application>
甚至添加权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
在Java> com> air_fighters_react_native>接收器中并在NetworkChangeReceiver.java文件中使用以下代码创建接收器文件夹:
package com.air_fighters_react_native.receiver;
import android.content.BroadcastReceiver
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class NetworkChangeReceiver extends BroadcastReceiver {
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Cambio de conexion.", Toast.LENGTH_LONG).show();
}
}
据此应该足够,但是在运行应用程序时没有问题,但是当我关闭应用程序并激活和禁用wifi时,吐司消息不会显示,即使有应用程序也不会显示在前台。我已经尝试将接收者更改为:
<receiver android:name=".NetworkChangeReceiver">
然后将NetworChangeReceiver更改为与文件夹中MainApplication和MainActivity相同的级别。