AIDL在targetSdkVersion 30的版本上運(yùn)行,bindService時返回false。
解決方案:
將targetSdkVersion 版本改為28.
api 30 Android 11 bindservice 返回 false,在 API 28 (Android 9)的模擬器上是可以的 bindService 返回 true,但是運(yùn)行到 API 30(Android 11)上就返回 false。
我剛開始解決問題的方向一直放在代碼上面,是為了兼容需要在代碼上做什么處理,看了官網(wǎng)并沒有得到什么信息。
targetSDKVersion 設(shè)置應(yīng)用的目標(biāo)版本,當(dāng)Android版本低于APP的目標(biāo)的API時,將使用Android手機(jī)版本API即28,當(dāng)APP目標(biāo)版本低于Android手機(jī)版本,將以APP目標(biāo)版本API在Android手機(jī)上以目標(biāo)版本的行為運(yùn)行,也就是 目標(biāo)版本設(shè)置為 28 在api30 的手機(jī)上,以api 28行為運(yùn)行,這也就是APP的向上兼容。
摘自:
Android 通過AIDL在兩個APP之間Service通信 - 茄子魚 - 博客園 (cnblogs.com)