2012-09-06 4 views
6

サービスで現在のフォーカスビューを取得する方法を教えてください。サービスで現在のフォーカスビューオブジェクトを取得する方法は?

Activity.getCurrentFocus()と Windows.getCurrentFocus()のように、これを行うためのいくつかの方法が見つかりました。 しかし、これらのメソッドはアクティビティで使用されます。

これらを使用したい場合は、現在のフォーカスアクティビティを取得する必要があります。 WindowManagerを使用して現在のタスクを取得しようとしました。 この方法では、現在のアクティビティのクラス名しか取得できませんでした。アクティビティオブジェクトではありません。

List<RunningAppProcessInfo> rList =activityManager.getRunningAppProcesses(); 
      RunningTaskInfo rt = rtList.get(0); 
     rt.topActivity.getClassName(); // the class name of the current Activity 

どのように私は サービスにおける現在のフォーカスビューを取得するためにこれらのメソッドを使用できますか?または、 に別の方法がありますか?

答えて

0

サービスはバックグラウンドの作業なので、どのUIにも関連付けられていません。 できることは、サービスをアクティビティにバインドし、このアクティビティの一部のメソッド(インターフェイス経由)を呼び出して、このアクティビティのフォーカスされたビューを返すことです。

とにかく、達成したいことをよりよく説明できますか?通常、サービスはUIを使って何かをするためには適用されないので、あなたが望むことを行うためのよりよい方法があるかもしれません。

関連する問題