状态:非常感谢所有在此处和第1部分提供帮助和指导的人!我已经根据研究和提供的帮助编写了代码,并且已将该工作代码放入EDIT-1。欢迎批评,让代码变得更好。场景:我问了第1部分中提到的问题,但出于某种原因,我可以坚持无法进行设计并使用具有真正集成的代码正确策略和理智。这是一个冗长的问题,问题和答案都可以在一个结束或完成插曲,所以我将第二部分作为概要。可能是我不称职或者只是打扰阅读了这么多分散的文档和不同策略的答案,或者答案是不同的观点/编码风格。第1部分part-1persistentforeGroundandroidservicethatstartsbyUI,worksatsleepm
我的应用在与其他应用一起玩了一段时间后返回前台时崩溃了,我不知道如何修复它。我的应用程序有一个启动画面Activity,它从Web服务加载一些数据并将其放入在扩展应用程序的类中声明的全局静态变量中,如thisSOquestion中所述。.加载所有数据后,此Activity将启动一个主页Activity,其中包含一些菜单以在应用程序中导航。全局变量用于大多数Activity。在某些时候,在玩其他应用程序时,我的应用程序似乎被杀死了,因为我可以在logcat中看到这一点:I/ActivityManager(2465):Processcom.mysite.myapp(pid23538)has
我的应用目前使用后台服务与物理设备通信(蓝牙)。(我制造和销售物理设备。)应用程序每500毫秒向设备发送一次命令。用户启动这个进程,它必须运行直到用户停止它。当应用程序处于Activity状态时,该过程的结果将发送到应用程序。即使应用程序未处于Activity状态,此过程也需要运行。(即他们接电话,搜索网络。)一旦应用程序再次激活,进程的状态就会与应用程序同步。该过程可以运行几分钟到几个小时不等。(是的,如果用户想要运行该过程99小时,则需要插入电源。)大多数用户运行2-15分钟。现在一切都很好,但是对于API26,似乎不再允许使用这种架构。一种迁移选项是移动到前台服务。但是,我发现有
这个问题在这里已经有了答案:ADB-Android-Gettingthenameofthecurrentactivity(13个答案)关闭5年前。我正在使用tasker自动发送短信,我需要检查当前前台应用程序包名称是否为x。如果是x则做其他事情做其他事情。我尝试使用pgrep,但即使应用程序x在后台,它也会返回pid。有没有办法从shell检查x是否在前台?谢谢
我正在使用Flutter的firebase_messaging包发送推送通知,并在firebase控制台中发送它们。当应用程序在后台或关闭时,我会收到通知,但是,当应用程序在前台时它不起作用。请告诉我是否需要集成Javascript才能使此功能正常工作,并请引用我可以使用的资源,以便弄清楚如何将Javascript与fcm集成,因为我还没有找到使用flutter的方法。 最佳答案 我发现有人可以使用flutter本地通知插件,这样当发送推送通知并且应用程序处于前台时,通常不会将通知传递到系统托盘,但使用flutter本地通知插件,当
我正在使用Flutter的firebase_messaging包发送推送通知,并在firebase控制台中发送它们。当应用程序在后台或关闭时,我会收到通知,但是,当应用程序在前台时它不起作用。请告诉我是否需要集成Javascript才能使此功能正常工作,并请引用我可以使用的资源,以便弄清楚如何将Javascript与fcm集成,因为我还没有找到使用flutter的方法。 最佳答案 我发现有人可以使用flutter本地通知插件,这样当发送推送通知并且应用程序处于前台时,通常不会将通知传递到系统托盘,但使用flutter本地通知插件,当
我创建了一个扩展服务并作为前台服务运行的类。我希望我的服务通知是持久的(即不通过滑动删除)。但是,可以通过滑动来关闭我的通知。服务文档指出:...前台服务必须为状态栏提供通知,该通知位于“正在进行”标题下。这意味着除非服务停止或从前台删除,否则无法取消通知...我确实设置了断点来检查是否命中了onDestroy()或stopSelf(),但事实并非如此。该服务正在前台模式下运行,但我可以通过滑动来关闭通知。相反的情况,我发现了很多问题,服务停止后无法关闭通知,但没有发现与我的问题类似的问题。服务通过Intent启动并初始化如下:@OverridepublicvoidonCreate()
我有一个android前台服务,通过通知调用。在服务中,我只是每10秒记录一次“Ticktack”,但服务的优先级是每X秒在webView中导航,因此我也在使用新线程并在主线程中工作。如果我将应用程序连接到USB,日志似乎没问题,每10秒调用一次“ticktack”,如果手机已解锁并且我在应用程序上查看日志也是如此。但是当我断开USB连接,或者我锁定设备时,就会发生这种情况:2018-11-1412:11:53.11512596-12596/?I/Service:ticktack2018-11-1412:12:18.70412596-12596/?I/Service:ticktack2
我已经在我的新应用程序中启动了一项服务。该服务是前台的,带有通知。当它在AVD2.1APILevel7中运行时,一切正常。但是当它在运行Gingerbread的SamsungGalaxyTab上运行时,该服务会启动(图标和应用程序名称出现在通知区域的顶部),但几秒钟后,该服务就会消失。我可以看到的日志中的最后一个条目与我的应用程序相关联,是我的Log.d("Taglines","Returningwith"+START_STICKY)的结果,它紧接在"returnSTART_STICKY;"之前在我的服务的onStartCommand覆盖中,如下所示:@Overridepublicin
我需要检查我的应用程序是在后台还是前台运行,然后对其执行一些相关操作。我搜索了很多,没有一个明确的解决方案。让父Activity在其onPause()和onResume()方法中保留一些变量以相应地更新它们。当您创建任何新Activity时,将继承您的父Activity。虽然这是我认为完成任务的最佳解决方案,但有时如果单击电源按钮,即使应用程序在后台,也会调用onResume()。使用GETTASKS权限-这个解决方案也不错。但它只能用于调试目的。如果您想将您的应用放在GooglePlay商店中,则不是。GetRunningTaks还有其他首选解决方案吗?