0

我有一个小脚本,它用作广播接收器,并且我用 Python 编写了它(脚本将处理移交给另一个主要的 Python 程序)。我不知道Java。然而,为了让接收器正常工作,SL4A 自然需要继续运行。据我所知:

  • SL4A 没有唤醒锁(无论如何广播接收脚本都不需要);GSAM 电池监视器不会指示唤醒锁,除非我使用 wakeLockAcquirePartial(或我需要的任何唤醒锁)API 调用明确获取它。因此,它不应该过多地消耗电池。
  • 尽管它被描述为“alpha 质量”软件,但在 2012 年的一次讨论中,人们认为 SL4A 对于 Play 商店来说足够稳定,而这个选项只是因为给一个应用程序这么多权限涉及潜在的安全问题而被拒绝。
  • 我见过 SL4A 崩溃,但这通常似乎是有问题的脚本的结果(例如,没有正确释放唤醒锁)。

鉴于此,可能有任何问题吗?我应该注意,有问题的电话不会用于通话等。

4

2 回答 2

2

我在日常使用中运行了一个超过 3 个线程的应用程序几个小时,没有出现任何问题。但是我使用该方法将脚本变成了一个独立的 APK。此方法可在SL4A FAQ中找到。

于 2013-10-17T17:14:37.677 回答
0

我现在已经使用这个系统两个多月了,只是想分享我的经验,以防它对其他人有用。

使用 SL4A 运行广播接收器脚本效果很好 - 但只能运行大约两到两天半。然后 SL4A 莫名其妙地似乎停止了(至少在我的脚本中没有抛出异常)。我连续三天以上没有成功运行SL4A。我应该提到这款手机是三星 Galaxy Star。

我设法建立了一个系统来从这种情况下自动恢复,方法是让我的脚本使用这个答案中给出的代码的稍微修改的版本来抓取一个套接字,并在运行时保持它。每隔十分钟,TaskBomb 就会启动另一个脚本并尝试获取同一个套接字。如果成功,它将使用此处给出的启动代码重新启动原始脚本。

于 2014-01-08T17:41:46.707 回答