我正在使用“ Xamarin.Android”开发一个Android应用,以拦截传入的SMS消息。当我使用Visual Studio内置模拟器(Android 9映像)部署应用程序时,关闭应用程序时不会拦截SMS。但是,当我在Galaxy Note 8(Android 9)上部署相同的应用程序时,它运行良好。
我挖掘了有关最新Android版本中的更新和更改以及它如何处理后台服务以及隐式广播接收器的限制的更多详细信息。我发现SMS_RECEIVE已经不受任何限制,因此即使关闭了广播,广播也应该传递到我的应用程序。
[我使用Java重写了SMS Broadcast接收器部分,以便在Android Studio中对其进行测试;它适用于Android Studio模拟器和设备。
这是Visual Studio模拟器中的常见问题吗?是否需要更改配置?
事实证明,该解决方案仅是更新Visual Studio附带的内置Android仿真器。
我使用的是去年3月发布的旧版本(28.0.25),而9月发布的新可用版本(29.2.1)通过此简单更新解决了该问题,尽管在任何自3月以来稳定版本的发行说明。