需要在AndroidManifest配置Service,綁定service時采用setAction不成功的原因有可能是由于android 5.0 service需要顯式聲明導(dǎo)致。
2016-04-17
AIDL注意幾個問題:
(1)在服務(wù)端注冊Service,并且需要android:exported="true"和android:process=":remote"屬性。
(2)android:exported="true",這個屬性沒有配置的時候,報異常java.lang.SecurityException: Not allowed to bind to service Intent。
(3)android:process=":remote"這個屬性沒有配置的時候,add方法返回的永遠都是0,加了之后正常了。
至于原因嘛.......................我怎么會知道(無辜臉)
(1)在服務(wù)端注冊Service,并且需要android:exported="true"和android:process=":remote"屬性。
(2)android:exported="true",這個屬性沒有配置的時候,報異常java.lang.SecurityException: Not allowed to bind to service Intent。
(3)android:process=":remote"這個屬性沒有配置的時候,add方法返回的永遠都是0,加了之后正常了。
至于原因嘛.......................我怎么會知道(無辜臉)
2016-04-14
其實這里也不清楚aidl中引用的到底是哪個person文件,因為我試過改aidl下的文件夾和java下文件夾為不同名,結(jié)果總是找不到包,即使我將person實體類,和person.aidl都放到aidl那邊去,雖然編譯通過了,沒有報找不到包,但是最后運行程序Service的那個文件會說找不到Person,最后我將aidl下的包名和java下的包名改成一樣的,person也實體類也放回到j(luò)ava,編譯通過了,最后運行程序也沒有問題,所以,總結(jié)來說,aidl下的文件夾必須和java下的同名,原本在eclipse,aidl文件就是和java文件放在一起的,不用糾結(jié)引包的問題。
2016-04-03
我去,老師的aidl的文件夾的名字和java下的package是一樣的,那aidl文件中引用的到底是哪個person,我告訴大家,親測是aidl文件夾下的person描述aidl文件。如果不對,請大牛指正
2016-04-03
我擦,為啥我用setComponetn(...)的方式就不行,我用setAction才能綁定服務(wù),求賜教?。。。。。。?!
。如果有跟我一樣的問題的同學(xué),就用setAction(...)方式吧,這樣的話,服務(wù)端的service需要在清單文件中聲明并設(shè)置action
。如果有跟我一樣的問題的同學(xué),就用setAction(...)方式吧,這樣的話,服務(wù)端的service需要在清單文件中聲明并設(shè)置action
2016-04-02
要是能順便提一下Binder和Messeger兩者對IPC的實現(xiàn)方式就好了。之前在書上看到說其底層也是使用的AIDL,但一直沒有去驗證。
2016-04-02