[問題] Xamarin傳遞callback給AAR

作者: nepholi (我不是砲哥)   2017-06-06 16:30:14
各位神人大大
最近在想辦法跨Xamarin(C#) & AndroidStudio(JAVA)兩大IDE
並在這過渡期中學習一些平常沒注意過的知識
這次我使用Xamarin.Android(C#)開發MMI
結合以前AndroidStudio開發好的邏輯核心build成AAR放進Xamarin
一般來說簡單的call function & pass parameter & return沒有問題
(bool, int, String)
但不知道要如何去pass callback? 已經天真的用直覺嘗試過然後crash了..
現在遇到的是MMI要請JAVA端去開啟NFC,並且NFC在子thread polling等待讀取。
(例如: bool StartNFCPolling())
然後當NFC讀取到資料時透過內部設計好的java callback把資料存下來。
問題是,我要怎麼回傳給MMI?
基本上我有兩種方向:
1. MMI call StartNFCPolling()之後,讓MMI固定時間去問一次JAVA端有沒有資料存在。
基本上就是傳統的MMI polling大法。
這個應該算是最土法煉鋼的做法,同時也是看起來不那麼厲害的方法XD?
2. MMI在call StartNFCPolling()的同時傳一個callback,讓JAVA端拿到資料後
執行callback。
我比較想走這方法,但就在於我JAVA端內部傳遞callback沒問題,我要怎麼讓C#的
function pointer傳給JAVA端?
有拜過估狗大神但依然無斬獲,想請教有沒有人做過類似的開發
或是有其他關鍵字可以參考
謝謝:)
作者: ssccg (23)   2017-06-06 16:48:00
Android Callable Wrappers

Links booklink

Contact Us: admin [ a t ] ucptt.com