0

ブロードキャスト レシーバーとして機能する小さなスクリプトがあり、これを Python でプログラムしました (スクリプトは処理を別のメイン Python プログラムに渡します)。私はJavaを知りません。ただし、レシーバーが機能するためには、SL4A が動作し続ける必要があります。私が見る限り:

  • SL4A はウェイクロックを保持しません (ブロードキャスト受信スクリプトには必要ありません)。wakeLockAcquirePartial (または必要なウェイクロック) API 呼び出しで明示的に取得しない限り、 GSAM Battery Monitorによってウェイクロックが示されることはありません。したがって、バッテリーを使いすぎてはいけません。
  • 「アルファ品質」のソフトウェアと表現されていますが、2012 年の議論では、SL4A は Play ストアで十分に安定していると感じられました。このオプションは、1 つのアプリに非常に多くの権限を付与することに伴う潜在的なセキュリティ上の問題のために拒否されただけでした。
  • SL4A がクラッシュするのを見たことがありますが、それは通常、問題のスクリプト (ウェイクロックを適切に解放しないなど) が原因のようです。

これを考えると、何か問題が発生する可能性はありますか? 問題の電話は、通話などにあまり使用されないことに注意してください。

4

2 に答える 2

2

3 つ以上のスレッドを持つアプリケーションを、毎日の使用で何時間も問題なく実行しました。しかし、この方法を使用して、スクリプトをスタンドアロン APK に変換しました。この方法はSL4A FAQにあります。

于 2013-10-17T17:14:37.677 に答える
0

私は現在、このシステムを 2 か月以上使用しており、他の人に役立つかもしれない場合に備えて、私の経験を共有したかっただけです.

SL4A を使用してブロードキャスト レシーバー スクリプトを実行すると問題なく動作しますが、約 2 ~ 2 日半しか使用できません。その後、SL4A が不可解に停止したように見えます (少なくとも私のスクリプト内では、例外はスローされません)。SL4A を 3 日以上連続して実行することに成功していません。電話はSamsung Galaxy Starであることを言及する必要があります.

この回答で与えられたコードのわずかに変更されたバージョンを使用してスクリプトにソケットを取得させ、実行時にそれを保持させることで、このような状況から自動回復するようにシステムをセットアップすることができました。10 分ごとに別のスクリプトが TaskBomb によって開始され、同じソケットを取得しようとします。成功すると、ここで指定された起動コードを使用して元のスクリプトを再起動します。

于 2014-01-08T17:41:46.707 に答える