原创 解決Malformed line 1 in source list /etc/apt/sources.list.d/google-chrome.list (type)

昨天我安裝chrome瀏覽器時,最後源出了點問題,導致apt-get update不能使用了,報錯如下: ```neal@ubuntu:~$ apt-get update E: Malformed line 1 in source

原创 裝機那些事

前言 我之前本來想裝雙系統,奈何主板沒有ubuntu的驅動,於是只能繼續虛擬機,中途有很多經驗我覺得有必要分享一下,希望你們不要走我的彎路。 一、不是所有的主板都支持ubuntu 有過裝機經驗的同學應該知道,裝機前有一個準備工作,

原创 清除未接來電及通知

應用中有時候會需要獲取未接來電,但是當你看完這些未接來電你可能想清除未接來電的通知,及把未接來電變成已讀,這時候你需要對數據庫操作。 有兩種方法可以達到上述需求(其實原理都一樣): 一、 直接更改數據庫 我們可以參考源碼來進

原创 解決Font size和Display size設置到最大,顯示異常的問題

前言 Android7.0的設置裏面有一個顯示模塊,裏面有字體大小和顯示大小的設置,調節的時候可能會造成顯示異常的問題。 具體問題復現路徑有兩種 1. 大小之間的轉換(包括設置字體和顯示),看你的應用是否顯示正常 2.

原创 Android 6.0動態權限的獲取

Android6.0的權限分爲普通權限和危險權限,其中普通權限還是可以和以前一樣,通過在AndroidManifest.xml中賦予,比如: <uses-permission android:name="android.

原创 解決Android應用簽名和系統不一致的問題

今天碰到一個簽名的問題,我負責的應用安裝時,會報錯: 安裝命令: adb install -r ApeFolio.apk 報錯信息: Failed to install ApeFolio.apk: Failure [INSTAL

原创 libphonenumber:Google的公共電話號碼解析庫

前言 以前在項目中碰到一個問題,測試提了個需求:接聽接話使,皮套界面要能解析號碼的來源地,並且要和系統的語言保持一致。這個問題說難不難,但是也不簡單,一般情況下,我們可能會想到建立一個數據庫,然後寫一個ContentPrivode

原创 Default Activity Not Found

前言 有時候我們需要編譯沒有android.intent.action.MAIN屬性activity的應用,但是Android studio默認是需要mainactivity的 解決方法 最簡單了,就是在AndroidManifest.

原创 Android N 各種ANR的時間

前言 大家都知道組件的執行任務的時間過長可能會導致ANR,但具體是多久呢?源碼裏面都定義了宏,我們把它們找出來,做了記錄 正文 Service Timeout 文件:ActiveServices.java // How long

原创 Android 廣播內部機制詳解(一)

前言 相信大家在應用開發中都用過Broadcast,單純從使用的角度來說,是非常容易的,但對於系統開發工程師來說,需要了解廣播運行的機制,那還是有必要去閱讀它的源碼。 關於Broadcast的代碼也是非常非常多的,我這裏將分成幾個部分來

原创 Handler淺析

前言 Android中多線程經常會涉及到傳遞消息的問題,尤其是更新UI,衆所周知,子線程是無法更新UI,這時候就要藉助Handler的消息傳遞機制。 一、構成 Message: 消息,Handler處理的對象 Looper:每個線程

原创 Android 廣播內部機制詳解(三)

4 廣播的處理 廣播的處理都會調用BroadcastQueue下的scheduleBroadcastsLocked(),接下我們來看看這個函數 4.1 scheduleBroadcastsLocked 文件:BroadcastQueue.

原创 Andorid N 最近任務管理器流程詳解(二)

2、Task的獲取 本章主要承接上面的來講,解析一下Task的獲取流程 2.1 preloadTasks 文件:RecentsTaskLoader.java public void preloadTasks(RecentsTask

原创 Android開發之獲取手機運行時間

前言 昨天我碰到一個問題,需要判斷兩次的時間,我當時的第一反應是用System.currentTimeMillis()來判斷,最後發現這樣會有一個BUG,那就是用戶如果手動修改時間,那就全亂套了,於是我想有沒有一個時間是隻增加不減少,並且

原创 Andorid N 最近任務管理器流程詳解(一)

前言 相信大家都用過任務管理器,不同的手機上面啓動的方式可能會有不同,有虛擬按鍵或者實體按鍵的,可能會通過短按或者長按Menu鍵來觸發,如果這些都沒有,只有一個指紋按鍵的,可能是通過長按的方式來觸發。這個功能我們經常會用到,他可以讓我們快