編輯:關於Android編程
}
我在追查音量設置問題是,從(1)追到(2),就不知道怎麼追查了,
grep -r setStreamVolumeIndex . 搜到AudioPolicyService,裡面也有setStreamVolumeIndex這個函數,貌似會調用到這裡。
打印log發現果然會走到這裡,可是代碼怎麼走到這裡的呢?這就需要我們了解binder原理。
如下圖:是IBinder BpRefbase IInterface INTERFACE 之間關系圖。
有了此圖,雖然看不出binder是怎麼實現的,但是我們就能大致binder是怎麼利用的。
用setStreamVolumeIndex分析數據的流向。
如下圖:<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"/uploadfile/Collfiles/20141023/2014102308594111.png" alt="">
有一個關鍵點,就 是AudioPolicyService,是怎麼傳遞到aps裡面的mRemote裡面的,就是通過重寫的interface_cast傳遞的。
1.簡介其實這個效果幾天之前就寫了,但是一直沒有更新博客,本來想著把芝麻分雷達圖也做好再發博客的,然後今天看到鴻洋的微信公眾號有朋友發了芝麻分的雷達圖,所以就算了,算是一
如圖,Android上新開的線程如想更新UI,需要重新跳到主線程中才能操作,以下是老外給出的幾種方案,大家多多學習下.private void loadIcon() {
當你的應用需要顯示一個進度條或需要用戶對信息進行確認時,可以使用alertDialog來完成。下面來介紹常用的四種AlertDialog。1、普通對話框package c
先上效果圖吧點擊加號勾選需要的應用點擊添加這裡出現了三種item的樣式,一種是加號,一種是應用圖標加文字,最後一種是應用圖標加文字還有個checkBox 這裡R