2012-04-03 8 views
2

質問仲間のプログラマー。私は自分の.apkでスタンドアロンのアプリケーションを持っていて、サービスを含む別の.apkを持っているとしましょう。スタンドアロンアプリケーションからサービスを開始/停止し、インテントを聞くにはどうすればよいですか?この場合、サービスバインディングは機能しますか?Androidは独立していて、異なるapkでサービスします

私は同じ.apkで独自のサービスを使ってアプリケーションを作成しましたが、残念ながらそれらをそれぞれ独自のapkで分割する必要があります。

ありがとうございました。

答えて

3

これは、なぜこれがあなたがイントラのケースで行うのと違うのか分かりません。インテントが成功するかどうかを確認するだけです。like this.同じアプリケーションと同じように、パッケージとクラス名を使用してサービスにバインドします。もちろん、インテントだけを使用するかどうか、またはAIDLインターフェイスを実装するかどうかによって異なります。したがって、実際には、アプリが実際にインストールされているかどうかを確認するだけでなく、実際の変更があってはいけません。

また、特にあなたが何か特権を持っている(通常はあなたがいる)場合、許可を得て意図を得る能力を保護する必要があることにも注意してください。さもなければあなたのアプリは混乱した代理攻撃の潜在的なターゲットになる可能性があります。

+0

私が間違っている場合は私を修正してください。私の場合は、意図が働くと思います。しかし、アプリケーションとサービスは別個のAPKにあるため、それらは異なるプロセスにあります。私のサービスの中にメッセンジャーを実装するだけで、これは機能しますか? – DoubleDunk

+0

私は混乱しています、意図とメッセンジャーは別物です。インテントはアプリ/アクティビティ間の単なるメッセージですが、なぜメッセンジャーが必要かはわかりません。バインドされたサービスが必要な場合は、メッセンジャーを使用しますが、インテントはサービスのonStart()で処理したキューに入れてキューに入れているだけです。 –

+0

あなたは文脈の欠如のために申し訳ありません。彼らは別々のプロセスにいるので、私はサービスにバインドするためにメッセンジャーが必要です。メッセンジャーを使って別のapkからのバインディングが可能ですか? – DoubleDunk

関連する問題