我有一个在Google Play商店发布的Android应用.Google Play商店应用是最终用户安装更新的方式.我意识到由用户自行决定打开自动更新,因此任何给定的手机都可以打开或不打开此功能.
我的应用程序在运行时运行通知栏中带有图标的前台服务.在测试自动更新过程期间,我注意到如果服务正在运行且应用程序自行更新,则服务将关闭(这是因为安装了新代码所需的).
但是,如果可能的话,我想避免这种情况.我想要发现的是找到一种方法来检测自动更新何时尝试更新我的应用程序.如果服务正在运行,我想拒绝更新,直到服务完成它的工作并关闭.
那么有什么方法可以检测谷歌游戏商店何时尝试更新你的应用程序,如果是这样,有没有办法阻止更新,直到你确定你的应用程序处于安全状态关闭?
我有一个通过 SupportMapFragment 显示地图的 android 应用程序。该应用程序在过去几个月运行良好,直到最近我将手机从 4.4.4 升级到 5.0(通过官方 OTA 更新)。现在应用程序崩溃了,我得到以下堆栈跟踪:
11-18 12:51:49.699 12594-12594/com.foo.bar E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.foo.bar, PID: 12594
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.foo.bar/com.foo.bar.CallActivity}: android.view.InflateException: Binary XML file line #89: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2298)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2360)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1278)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5221)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: android.view.InflateException: Binary XML file line #89: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:763)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:806)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:809)
at android.view.LayoutInflater.inflate(LayoutInflater.java:504) …Run Code Online (Sandbox Code Playgroud) crash android google-maps-android-api-2 supportmapfragment android-5.0-lollipop