2013-12-09 17 views
6

delphi XE5(firemonkey)を使用して、Android用のサービスを作成する必要があります。このサービスはバックグラウンドで実行し、定期的にsmsの受信トレイを読み込み、sqllite DBに書き込む必要があります(smsバックアップ)。デルファイXE5のAndroidバックグラウンドサービス

私はsmsを読む方法とそれをDBに書く方法を知っていますが、サービスとしてバックグラウンドでアプリを動作させる方法はわかりません。

アイデア?

P .:回答ありがとうございます。 P.P.S .:私の悪い英語のために申し訳ありません。

+1

ジョブに間違ったツールを選択しました。これは、ネイティブの開発ツールを使用して最もよく行われます。 –

答えて

4

XE5だけではできませんが、Javaの助けを借りて行うことはできます。

ブライアン・ロングは、このトピック上の2つの-区分けを公開しています:

http://blog.blong.com/2013/11/delphi-and-android-services.html

http://blog.blong.com/2013/11/delphi-and-android-services-part-2.html

+0

3つ目の部分もありました。それ以降のバージョンのアップデートが含まれています - http://blog.blong.com/2015/02/delph-and-android-services-part-3.html - もちろんDelphi 10 Seattle Androidサービスをネイティブサポートしています。 – blong

0

Android servicesは、Windowsサービスと同じではありません。 Androidサービスを使用している場合でも、アプリケーションのメインスレッドで実行されます。デバイスがスリープモードになると停止します。また、システムは、低メモリで、場合によっては他の状況でサービスを終了することができる。ドキュメントから

通常、開始したサービスは、単一の操作を実行し、 呼び出し元に結果を返しません。たとえば、ネットワーク経由でファイルをダウンロードしたり、 ファイルをアップロードしたりする場合があります。操作が完了すると、 サービスは停止する必要があります。サービスが開始され、長時間実行された場合

」、そしてシステムは 時間をかけてバックグラウンドタスクのリスト内の位置を下げますと サービスが影響を非常に受けやすいとなります

サービスの代わりに、AlarmManagerが良い選択かもしれません。これはシステムサービスで、たとえば定期的に通知するときにアクションを実行します。

関連する問題