Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我正在尝试构建一个应用程序,当wifi状态发生变化时,它会创建一个通知_Java_Android_Notifications - Fatal编程技术网

Java 我正在尝试构建一个应用程序,当wifi状态发生变化时,它会创建一个通知

Java 我正在尝试构建一个应用程序,当wifi状态发生变化时,它会创建一个通知,java,android,notifications,Java,Android,Notifications,我正在构建一个应用程序,在建立wifi连接时发送通知。因为我使用的是AndroidManifest.xml中的android 9设置意图过滤器,所以无法工作 我创建了一个自定义的BroadcastReceiver,它创建了一个通知,如果我在onCreate中注册了receiver,它就会工作 以下是onCreate中代码的registerReceiver部分(它在应用程序打开时工作) 这是我的收音机: public class WifiStateReceiver extends Broadcas

我正在构建一个应用程序,在建立wifi连接时发送通知。因为我使用的是AndroidManifest.xml中的android 9设置意图过滤器,所以无法工作

我创建了一个自定义的BroadcastReceiver,它创建了一个通知,如果我在onCreate中注册了receiver,它就会工作

以下是onCreate中代码的registerReceiver部分(它在应用程序打开时工作)

这是我的收音机:

public class WifiStateReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("TEST", "IT WORKS!");
    }
}
这是我的AndroidManifest.xml

.
.
.

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
.
.
.
        <receiver
            android:name=".WifiStateReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.net.wifi.STATE_CHANGE"/>
            </intent-filter>
        </receiver>

.
.
.

。
.
.
.
.
.
.
.
.

在我关闭我的应用程序后,这将不再起作用。所以我需要一种永不关闭的服务,但我不确定这种方法的电池效率有多低。当wifi连接/状态发生变化时,是否有办法运行服务?正如我已经说过的,在AndroidManifest中放置意图过滤器似乎不起作用,因为我使用的是android 9。

您需要创建一个后台进程,然后在中检查wifi状态it@jpsingh如果我让它一直运行,这个电池会消耗多少电量?你不需要一直运行它。您可以添加作业计划,并在所需的时间间隔启动该过程以检查wifi状态。它将提高您的性能,并将消耗更少的电池。您需要创建一个后台进程,然后在中检查wifi状态it@jpsingh如果我让它一直运行,这个电池会消耗多少电量?你不需要一直运行它。您可以添加作业计划,并在所需的时间间隔启动该过程以检查wifi状态。它将提高您的性能,并将消耗更少的电池量
.
.
.

<uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
.
.
.
        <receiver
            android:name=".WifiStateReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.net.wifi.STATE_CHANGE"/>
            </intent-filter>
        </receiver>

.
.
.