Re: [問題] Service 與呼叫者的互動

看板AndroidDev作者 (Mr. Pan)時間10年前 (2015/11/13 08:00), 編輯推噓0(002)
留言2則, 1人參與, 最新討論串3/4 (看更多)

11/12 14:01,
不太懂 是指你無法動remote的code嗎?
11/12 14:01
稍微解釋一下我想做的事情好了,首先有兩個 App: Caller -----> 某 IME 的 InputMethodService MySvr -----> 我製作的 Service , 會產生浮動視窗 先透過 Xposed 來 hook Caller 鍵盤跳出的事件,也就是當鍵盤跳出後 透過 bindService 啟動 MySvr , 這樣一來 MySvr 的浮動視窗就會出現 但我想在想要點選這個浮動式窗上的按鈕後,由 Caller 顯示一個 Dailog, (因為之後要取得 InputMethodService 中的 InputConnection ) 所以我的想法是: 1. MySvr 加入 public void setListener(MyListener l){ this.listener = l; } 2. 設定當浮動視窗的按鈕被按下時,判斷: if( listener!=null ) listener.onWindowClick(); 3. 傳入 bindService 的 ServiceConnection 實作 MyListener, 當 onServiceConnected 時,透過 IBinder 取得 MySvr, 接著透過 setListener 把自己傳過去: MySvr m=MyBinder.Stub.asInterface(iBinder); m.setListsner(this); 大概就像這樣,不知道該怎麼做會比較OK ? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.60.161.234 ※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1447372812.A.296.html

11/13 09:34, , 1F
你的MyListener一樣用aidl定義就可以
11/13 09:34, 1F

11/13 09:37, , 2F
總之會跨process傳的物件Type就用aidl
11/13 09:37, 2F
文章代碼(AID): #1MHIWCAM (AndroidDev)
文章代碼(AID): #1MHIWCAM (AndroidDev)