看板 AndroidDev 關於我們 聯絡資訊
givemepass: 不太懂 是指你無法動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
ssccg: 你的MyListener一樣用aidl定義就可以 11/13 09:34
ssccg: 總之會跨process傳的物件Type就用aidl 11/13 09:37