我可以在广播接收器中获得壁纸更改事件吗?我需要检测用户是否更换了墙纸.我怎么能这样做?
我正在做的是:我有一个自动更改壁纸的应用程序.如果用户使用不同的应用程序手动更改它我想要注意它并询问用户他/她是否想要将新壁纸添加到我的应用程序列表中
我的Android客户端应用程序安装在多个设备上.我还有我的服务器应用程序,向这些应用程序发送消息.问题是有些设备接收消息而其他设备没有.将消息发送到这些设备时,我收到错误" MismatchSenderId ".
我把问题分开了,所以我打开firebase控制台并向我的应用程序发送通知(我为每个应用程序都有令牌).因此,使用控制台应用程序,我在使用我的服务器的相同设备上收到错误.但正如我所说,每个设备都使用相同的应用程序.
任何帮助的原因?
我将 Android Studio 更新为 Flamingo、Gradle 和库。之后,如果通过 Android Studio 从模拟器中安装该应用程序,则该应用程序运行良好,但如果使用捆绑包从 Play 商店安装该应用程序,则该应用程序会失败。我认为如果从 .apk 文件安装它就可以工作。
我得到例外:
java.lang.IllegalArgumentException: class o4.b isn't parameterized
Run Code Online (Sandbox Code Playgroud) 建立新连接后,我立即使用getSSID()获取wifi网络的名称。但是有时候我会得到那个值的空值。这是我的代码:
清单中的权限是正确的,因为正如我所说,大多数情况下它都是有效的。
我将此过滤器用于广播接收器:
<action android:name="android.net.wifi.supplicant.CONNECTION_CHANGE" />
Run Code Online (Sandbox Code Playgroud)
在广播中,我这样做:
if("android.net.wifi.supplicant.CONNECTION_CHANGE".equals(intent.getAction()))
{ boolean bConected = intent.getBooleanExtra(WifiManager.EXTRA_SUPPLICANT_CONNECTED, false);
if(bConnected == true)
{ WifiManager wifi = (WifiManager) Contexto.getSystemService(Context.WIFI_SERVICE);
String MyName = wifi.getConnectionInfo().getSSID();
Sometimes MyName is null here even if Wifi is connected correctly
}
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?