0

パッケージが異なる2つのAndroidアプリケーションがApp1あり、App2. Method1で書かれたメソッドをApp1から呼び出したいとしますApp2。次のリンクで見つけた解決策の 1 つは、Android call method from another appBroadcastReceiverで、 に を登録 してからApp1呼び出す必要があることを示唆しています。しかし問題は、App1 がバックグラウンドで実行されている場合にのみ を呼び出すことができることです。そうでなければ、何も起こりません。sendBroadcast()App2Method1

この問題を解決するにはどうすればよいですか? Method1開始せずに呼び出す他の方法はありますApp1か?

4

1 に答える 1

3

しかし問題は、App1 がバックグラウンドで実行されている場合にのみ Method1 を呼び出すことができることです。

これは正しくありません。AndroidManifest.xml にコンポーネント ( BroadcastReceiverServiceActivityなど) を登録してエクスポートするとIntent、アプリケーション プロセスの現在の状態に関係なく、他のアプリケーションが でそれをトリガーできます。

おそらく、あなたが遭遇している問題は、あなたがリンクした例がBroadcastReceiverin Java コードを登録することです。<receiver>代わりにマニフェストで公開すると、常に外部からアクセスできるようになります。これについては、 のSDK ドキュメントで説明されていますBroadcastReceiver

于 2013-10-09T19:14:29.383 に答える