国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

android系統(tǒng)在靜音模式下關(guān)閉camera拍照聲音的方法

2020-04-11 12:05:11
字體:
供稿:網(wǎng)友
話說為了防止偷拍,業(yè)內(nèi)有不成文規(guī)定,手機公司在做camera時,點擊拍照和錄像鍵的時候,必須要有提示音。因此,google也就非常人性化的將播放拍照聲音的函數(shù),放到了cameraService中,防止開發(fā)者能開發(fā)出不響的camera,從而只要調(diào)用拍照函數(shù),一定會響,這是寫死在framework中的。

話說這個規(guī)定在當(dāng)今有點不合時宜,這不,今天我收到測試提的一個BUG,說是公司的新需求,要求在靜音模式下拍照聲音也得取消。這么無恥的需求,也許就在我們中國最大的山寨手機公司才會提到。廢話不多說,看看是怎么改的。

剛開始想到的是調(diào)用audiomanager的service,但是這會涉及到進程間通信,比較繁瑣。所以用到了SystemProperity。想在APP監(jiān)聽點擊事件時增加一個property,將當(dāng)時的aduio狀態(tài)寫進去,如果為靜音模式,則寫入1,然后cameraservice再調(diào)用playsound時也取這個property,來判斷是否playsound。

關(guān)于在app中寫入systemprperty,我想引用一下大神的博客,博客地址http://www.cnblogs.com/eustoma/archive/2011/05/28/2415859.html。
以下為引用的博文:
---------------------------------------------------------------------------------------------------------start
使應(yīng)用程序具有AID_SYSTEM的UID
那如何使應(yīng)用程序的uid變?yōu)?000呢?
由于我可以在Android系統(tǒng)源碼的環(huán)境下用make來編譯,所以需要做如下幾步:
l在應(yīng)用程序的AndroidManifest.xml文件中的manifest節(jié)點中加入屬性:
android:sharedUserId="android.uid.system";
通過Shared User id,擁有同一個User id的多個APK可以配置成運行在同一個進程中。那么把程序的UID配成android.uid.system,也就是要讓程序運行在系統(tǒng)進程中,這樣就有權(quán)限來設(shè)置前綴為hw.的屬性了。
l修改Android.mk文件,加入LOCAL_CERTIFICATE := platform;
加入UID還不夠,如果這時候安裝APK的話發(fā)現(xiàn)無法安裝,提示簽名不符,原因是程序想要運行在系統(tǒng)進程中還要有目標(biāo)系統(tǒng)的platform. key,就是platform.pk8和platform.x509.pem兩個文件。通過這樣的設(shè)置,系統(tǒng)才可以拿到platform.pk8和platform.x509.pem兩個文件。使用這兩個key簽名后apk才真正可以放入系統(tǒng)進程中。
然后使用mm命令來編譯,生成的apk的uid就會成為1000。在去調(diào)用property_set("hw.jpeg.path", "/data/test.jpg");就不會有問題了。
---------------------------------------------------------------------------------------------------------------------------------------------end
忙活半天發(fā)現(xiàn)其實在AudioManager.java文件中,已經(jīng)將一個KEY-VALUE值寫入到了SystemProperity中:
 
然后在CameraService.cpp文件中,關(guān)于調(diào)用playsound()函數(shù)的地方加入如下判斷:
 
注意:property_get()函數(shù)需要引入頭文件,<cutils/properties.h>
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 浮山县| 青川县| 来宾市| 和顺县| 武平县| 满洲里市| 雅江县| 抚松县| 进贤县| 贵定县| 武隆县| 肇源县| 淳安县| 项城市| 兴化市| 镇平县| 吴川市| 普兰县| 泸水县| 尚义县| 五常市| 赣榆县| 米脂县| 青浦区| 禄劝| 万山特区| 泸州市| 长岭县| 桂平市| 吴江市| 西盟| 西乡县| 尚志市| 都安| 邓州市| 景宁| 黄浦区| 武乡县| 章丘市| 万载县| 宜春市|