現在、特定のアプリケーションを設計しようとしていますが、その方法がよくわかりません。アプリはこのように実行する必要があります。
私がしなければならないこと :
ユーザーがアプリケーションを起動します。このアクションは、アプリケーションの UI が画面上にない場合でも、テスト シナリオを取得し、テストを実行し、結果を同じサーバーに送信するためにリモート サーバーに要求する必要がある UI (現在はサービス) から独立したものを開始します。
2 番目の制約 : ユーザーは、最初に、サーバーからのシナリオの 2 つの要求の間の時間を選択します。
例 :ユーザーがアプリを起動し、「5 分ごとにテスト シナリオの要求を 1 つ実行する」を選択すると、その後、自分の電話で好きなことを行うことができます。そして、アプリは 5 分ごとに、テスト シナリオ (1 つではなく、さまざまな数、たとえば 50) を取得する要求を送信し、テスト シナリオを実行して、結果をサーバーに送信します。そして、次のリクエストを待ちます。
この間、ステータスバーの通知アイコンは、アプリの UI にアクセスするのに適していると思います。これにより、ユーザーは、アプリが十分なテストを行ったと感じたら、UI にアクセスしてアプリを停止できます。
私がすでに行ったこと:
サービスを作成するアクティビティを作成します。また、 でアラームを設定し、 X 分/秒/... ごとにサービスを呼び出すAlarmManager
で受信しAlarmReceiver
、シナリオを取得するためにサービスでサーバーへの要求を開始します (http 要求は AsyncTask で行われます)。onCreate()
サービスは、そのメソッドのステータス バーに通知を配置します。また、JSON を解析し、HttpRequest を送信し、そのような技術的なことだけを行うこともできました。
私の問題は何ですか:
の最後でサービスが停止することがわかりましたonStartCommand()
。メソッドを終了してからonDestroy()
(私が入れていない場所stopSelf()
)に行きますが、サービスは本当に閉じていますか?はいの場合、アプリケーションの全期間中、どうすればそれを「アップ」できますか?
ステータスバーの通知は、 によって指定されたリズムで表示および非表示になりましたAlarmManager
。どうすればそれを「安定させる」ことができますか?
そのようなアプリを既に設計している場合 (メール アプリは、X 分ごとに新しいメールをチェックして通知を送信するようにメール サーバーに要求する良い例だと思います)、どうすれば目標を達成できますか? メール アプリの例を再利用するには: サーバー上の新着メールをチェックするサービスは常に実行されていますか?
このアプリの王様を設計する方法が本当にわからないので、どんな助けも大歓迎です. 私の悪い英語でごめんなさい。精度、サービスのコード、アクティビティが必要な場合は、お問い合わせください。
よろしく