問題タブ [android-service]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
21103 参照

android - Android プラットフォームでのサービスの開始

startService(Intent intent)メソッドを使用してサービスを開始しています。この関数を呼び出すと、サービスのonCreateに到達しますが、 onStartCommandを呼び出すことができません。これが私のコードです--

サービスコード --

Manifest.xml --

0 投票する
7 に答える
62826 参照

android - Start a Service from an Activity

In my app, I have an Activity from which I want to start a Service. Can anybody help me?

0 投票する
2 に答える
1289 参照

android - Android サービス - アクティビティをポップできますか?

私は3つの別々のアプリケーションA、B、およびCを持っています。それらはすべてサービスSを使用します.A、B、またはCがサービスSに接続し、サービスSを開始する必要がある場合、フォームFを使用してユーザーから資格情報を収集する必要があります.

ユーザーエクスペリエンスを次のようにしたい:

  1. Android のメイン メニューから、ユーザーはいずれかのアプリケーションをタップします。A、B、または C。
  2. サービスが開始されていないため、フォーム F が表示されます。
  3. ユーザーはフォーム F に入力し、[OK] をタップします。
  4. 検証が行われます。
  5. 資格情報の検証が成功すると、選択したアプリ (A、B、または C) の適切なアクティビティが表示されます。
  6. 検証が成功した後、開始される後続のアプリケーションは認証する必要がなく、そのアプリのアクティビティから開始されます。
  7. 検証に失敗し、ユーザーが戻るボタンを押すと、メイン メニューが再び表示されます。

これらすべてを考えると、私が望むのは、サービスが必要に応じて資格情報フォームを開始することだと思います-サービスはこれを行うことができますか? そうでない場合、これを実装する別の方法は何でしょうか?

0 投票する
9 に答える
78384 参照

android - プレビューなしでカメラから写真を撮る

起動直後に起動するAndroid1.5アプリケーションを作成しています。これはであり、Serviceプレビューなしで写真を撮る必要があります。このアプリは、いくつかの領域の光の密度をログに記録します。写真は撮れましたが、真っ黒でした。

長い間調査した後、私はそれについてのバグスレッドに出くわしました。プレビューを生成しない場合、Androidカメラは露出とフォーカスを設定するためにプレビューが必要なため、画像は黒になります。SurfaceViewとリスナーを作成しましたが、onSurfaceCreated()イベントが発生することはありません。

その理由は、表面が視覚的に作成されていないためだと思います。また、カメラを静的に呼び出してMediaStore.CAPTURE_OR_SOMETHING写真を撮り、2行のコードで目的のフォルダーに保存する例もいくつか見ましたが、写真も撮りません。

IPCを使用しbindService()てこの関数を呼び出す必要がありますか?または、これを達成するための代替方法はありますか?

0 投票する
1 に答える
11636 参照

android - アプリで実行中の他のアクティビティがない場合にのみAndroidサービスを停止するにはどうすればよいですか?

アプリに他のアクティビティがまだ残っているかどうかをテストする方法はありますか?onDestroyメソッドでサービスを停止しようとしていますが、スタック上にまだ生きているアプリからの他のアクティビティがない場合にのみこれを実行したいと思います。

メインアクティビティのonDestroy()メソッドでサービスを停止する呼び出しがあります。これは、ユーザーが私のアプリを起動し、次に私のアプリでいくつかのアクティビティを起動し、ホーム画面を押して私のアプリを再起動した場合、私の注文を覆し、メインのアクティビティが私のアプリの他のアクティビティよりも上になることを除いて、完璧に機能します。この状態から、戻るボタンを押してホーム画面から「戻る」と、スタックで他のアクティビティが開いていても、onDestroy()メソッドがトリガーされ、サービスが強制終了されます。スタック上で開いている他のアクティビティがないと確信している場合にのみ、サービスを停止してこれを回避したいと思います。可能?

0 投票する
13 に答える
166134 参照

android - Android Service を Activity と通信させる方法

私は最初の Android アプリケーションを作成しており、サービスとアクティビティ間の通信について理解しようとしています。バックグラウンドで実行され、GPS と時間ベースのログ記録を行うサービスがあります。サービスの開始と停止に使用されるアクティビティがあります。

そのため、最初に、アクティビティの開始時にサービスが実行されているかどうかを確認できる必要があります。それについては他にもいくつか質問があるので、それを理解できると思います(ただし、お気軽にアドバイスを提供してください)。

私の本当の問題: アクティビティが実行中で、サービスが開始されている場合、サービスがアクティビティにメッセージを送信する方法が必要です。この時点での単純な文字列と整数 - ほとんどのステータス メッセージ。メッセージは定期的に発生するわけではないため、別の方法がある場合、サービスをポーリングすることは良い方法ではないと思います。アクティビティがユーザーによって開始されたときにのみ、この通信が必要です。サービスからアクティビティを開始したくありません。つまり、アクティビティを開始し、サービスが実行されている場合、興味深いことが発生すると、アクティビティ UI にいくつかのステータス メッセージが表示されます。アクティビティを開始しない場合、これらのメッセージは表示されません (あまり興味深いものではありません)。

サービスが実行されているかどうかを判断できるはずです。実行されている場合は、アクティビティをリスナーとして追加します。次に、アクティビティが一時停止または停止したときに、アクティビティをリスナーとして削除します。それは実際に可能ですか?それを行う唯一の方法は、Activity に Parcelable を実装させ、サービスのリモート インターフェースを介して渡すことができるように AIDL ファイルを作成することです。それはやり過ぎのようですが、Activity が writeToParcel() / readFromParcel() を実装する方法がわかりません。

もっと簡単で良い方法はありますか?助けてくれてありがとう。

編集:

後でこれに興味がある人のために、サンプル ディレクトリに AIDL を介してこれを処理するための Google のサンプル コードがあります: /apis/app/RemoteService.java

0 投票する
5 に答える
80998 参照

android - 常にバックグラウンドでサービスを実行するにはどうすればよいですか?

組み込みのSMSアプリに似たアプリを作成中です。

必要なもの:

  • 常にバックグラウンドで実行されているサービス
  • 5分ごと。サービスはデバイスの現在の場所を確認し、Webサービスを呼び出します
  • 特定の基準が満たされている場合、サービスは通知を生成する必要があります(SMSアプリと同様)
  • 通知をクリックすると、ユーザーはアプリに移動します(SMSアプリと同じように)
  • アプリがインストールされたら、サービスを開始する必要があります
  • デバイスを再起動したら、サービスを開始する必要があります

私が試したこと: -Android
がサービスを強制終了するまで正常に機能する通常のサービスを実行する
-AlarmManagerを使用して5分を作成します。サービスへのインターバル呼び出し。しかし、私はこの仕事をすることができませんでした。

0 投票する
1 に答える
216 参照

android - Android で最も「死に強い」コンポーネントは何ですか?

アクティビティから呼び出される AsyncTasks のディスパッチャーとして最適なクラスを探しています。

次のいずれかになると思います。

  1. Applicationのサブクラス。
  2. Serviceのサブクラス。
  3. 私自身の静的なもの。

私にとっては、3番目の選択肢を実装する方が簡単です。しかし問題は、サービスやアプリケーションよりも「死に強い」かどうかです。また、アプリケーションとサービスのどちらが長生きするかは非常に興味深いことです。私の推測では、アプリ (Android の観点からはタスク) プロセスが存続する限り、アプリケーションは存続します。

したがって、基本的には、最も「静的な」ものに依存したいので、「死に強い」品質によってこれらのオプションを分類する必要があります。

アップデート:

当初、この質問は2010 年に (1) Android が開発者にとって新しいプラットフォームであり、(2) Google のドキュメントがアプリ コンポーネントのライフサイクルとアプリ プロセスのライフサイクル全体についてあまりにも曖昧であった (場合によっては誤解を招くものでさえあった) ときに尋ねられました。 .

0 投票する
5 に答える
7138 参照

android - 常にサービスを実行し続けるにはどうすればよいですか?

常にバックグラウンドで実行したいプロセスがあります。

だから私はそれを作ったService

私の質問は、ユーザーがこのサービスを強制終了するのを防ぐ方法はありますか? (サードパーティのアプリを使用している場合でも)

0 投票する
16 に答える
194166 参照

android - Androidで起動時にサービスを開始しようとしています

デバイスが Android で起動したときにサービスを開始しようとしましたが、動作させることができません。オンラインでいくつかのリンクを見てきましたが、どのコードも機能しません。私は何かを忘れていますか?

AndroidManifest.xml

ブロードキャストレシーバー