導航:首頁 > 操作系統 > androidlauncher定製

androidlauncher定製

發布時間:2023-10-19 00:18:17

A. android開發者:修改android圖標ic_launcher,為自定義的.

android圖標ic_launcher的修改方式:

  1. 將自定義的圖片復制到 res/drawable目錄下,例如 logo.png.

  2. 打開AndroidManifest.xml文件.

  3. 在application節點中修改android:icon為android:icon="@drawable/logo"即可.

注意,部分Android手機的桌面有緩存,改了icon以後,桌面應用圖標並沒有變,需要重啟手機才會生效.

B. Android 怎麼把Launcher桌面的每一屏修改為x*x的布局

Android 怎麼把Launcher桌面的每一屏修改為x*x的布局
安裝scim:
apt-get install scim scim-chinese
在 /etc/Xsession.d 下建立文件 95xim
寫入下面這些,重啟
export LANG="zh_CN.UTF-8"
export LC_ALL="zh_CN.UTF-8"
export LC_CTYPE="zh_CN.UTF-8"
export G_FILENAME_ENCODING=@UTF-8
export XIM="SCIM"
export XMODIFIERS="@im=SCIM"
export GTK_IM_MODULE=scim
export QT_IM_MODULE=scim
scim -d
這樣就可以在X啟動後,按ctrl+space切換到scim輸入法了。

C. android可以自己開發一個launcher,並且替換掉系統的嗎

可以,但是不建議這么做,開發的laucher的和系統的其他app兼容性需要考慮。

開發一個laucher:在你的app的androidmanifest.xml中定義<category android:name="android.intent.category.LAUNCHER" />
刪除系統的laucher:需要獲得root許可權,建議保留,因為充滿很多危險。
默認:開發的launcher設置默認就好了。
安卓系統中的桌面啟動器,安卓系統的桌面UI統稱為Launcher

D. 這8款Android桌面小部件,能讓你的Android好用很多倍

安卓手機一直以來以其可玩性高而受到歡迎,即使是簡單的桌面小部件,也有人能玩出花來。強大如 Zooper Widget 和 KWGT 等復雜且定製性極強的美化類桌面插件應用,抑或是朴實無華但又必不可少的時間和天氣小部件,桌面小部件實實在在地佔據著每一部安卓手機桌面的一部分。

手機畢竟是拿來用的,對於大部人來說,是否實用、美觀和方便才是考量一個小部件能否在桌面上生存的必要條件。本文就旨在介紹一些值得我們放置在桌面的應用小部件。

這些小部件更實用

Another Widget

自 Pixel Launcher 推出以後,簡潔實用的 At A Glance 桌面插件便成為了諸多安卓用戶心頭的一顆硃砂痣,奈何高貴的 Pixel 用戶專屬這一限制使得我等只得望洋興嘆。好在,萬能的 XDA 大神們動手破除了 Pixel Launcher 的諸多限制,使得更多人得以享用這一特性。但是面對更改圖標困難、界面相對簡陋的 Pixel Launcher ,廣大人民群眾日益增長的對於高自定義的需求和現有的不足之間的矛盾日益凸顯。 Another Widget 的出現便很好地解決了這一矛盾:

Another Widget 的設置界面

Another Widget 是一款像素級模仿 At A Glance 這一特性的桌面小部件,對比 At A Glance ,它還有如下優點:支持更換字體顏色,可自定義顯示的日歷,設置即將到來的事件最早何時可以顯示在桌面,還可以切換天氣源。

顯示效果

Google Calender 的日程列表

Google Calendar 的小部件有兩種,一種為月視圖,另一種為日程列表。相比於月視圖,將日程列表放置在桌面更能幫助我們了解接下來的日程,起到良好的提醒作用。

Google Calender 日程列表

倒計時類

每個人的人生中總有些特殊而重要的時刻值得我們銘記和回顧,這個時候,把它們放置在桌面就顯得很有必要。放置重要考試的倒計時能讓我們每次看到桌面都「膽戰心驚」,提醒我們滾去學習;同樣也可以放置親人或男/女朋友的生日倒計時乃至你們共同度過了多久的甜蜜歲月。萬一被男/女朋友「不小心」看到沒准還會被誇很有心。

我們可以使用「何時」、「倒數日」、「Hurry」等應用來添加倒計時小部件到桌面。

單事件效果對比

幫你更快地觸發所需功能的小部件

iOS 於 2015 年宣布了 3D Touch 這一特性,旨在提高手機操作效率,幫助用戶更快地從桌面進入所需功能。一年後,谷歌也推出了 Shortcuts 這一特性,其一度被看作是安卓版的 3D Touch 功能。不過不同於 3D Touch 對於手機硬體的硬性需要, Shortcuts 則只需要系統(Android 7.1 及以上)和應用支持,門檻低上了不少(安裝 Nova Launcher 等第三方桌面更是可以讓低安卓版本也享受這一特性)。

App Shortcuts

事實上,無論是 3D Touch 還是 App Shortcuts ,用戶的實際利用率一直不高,一是因為每個應用長按調出的菜單功能不一樣,記憶難度大;二是因為用戶難以形成習慣。更不必說,許多國產定製 UI 直接閹割掉了這一功能。當然,我們還是可以盡可能地把這一特性利用起來,使之服務於我們。谷歌允許用戶將 Shortcuts 中的某一項通過拖拽固定在桌面,這為用戶提供了不少方便。那麼哪些快捷方式值得我們單獨將其放置在寸土寸金的桌面上呢?

支付寶「掃一掃」和「付款碼」等小部件

移動支付的燎原之火早已燒遍全國,連門口賣雞蛋灌餅的大爺都知道讓你掃他的紅包碼了。掃碼已經變成了手機攝像頭所承擔的重要功能之一,把「掃一掃」的小部件放在桌面,我們便無需再靠著一指禪點點點,只需一步,就能瀟灑地付款走人。同樣,「付款碼」小部件放置在桌面也能在一定程度上減少操作。每次在超市排隊的時候,看到大爺大媽們手忙腳亂地找付款碼,都不禁感嘆,所謂的科技進步帶來的便捷究竟何時才能被所有人共享。

支付寶掃一掃

在這里不得不批評一下「生活方式應用」某信了,時至今日安卓版的微信也不支持 Shortcuts ,落後支付寶不是一點半點,是半年啊。想要快速打開微信掃一掃或者付款碼我們只能等待官方支持了,當然了,MIUI 等國產系統的負一屏支持快速打開這些活動。對於原生或類原生系統的用戶來說,現有方式均需要獲取 root 許可權,考慮到安全性,在此不做推薦。

蝦米的「每日播放 30 首」和網易雲的「私人 FM」

如果只是想要聽歌,為了躲開漫長的開屏廣告,我們可以把相應的快捷方式放置於桌面。這樣只需一鍵便可開始暢享音樂。

通過常規方式打開:

常規方式打開

通過快捷方式打開:

快捷方式打開

同樣實用的還有一閃的「相機」快捷方式,手機默認設置的「電池使用情況」快捷方式,適合更新強迫症的 Play Store 的「我的應用」快捷方式等等。我們可以根據自己使用某一功能的頻率來決定是否需要放置相應的小部件,對於一些使用率不高的功能,我們通過長按圖標調出即可。

值得一試的快捷方式

為了好玩,沒卵用也要放的小部件

有些時候,為了好玩和個性,許多人會花費大量時間來美化桌面。這種行為我認為屬於個人的愛好,尊重即可。不過,如果你只是想要小小地折騰一下,這里也推薦一款好玩的應用:會話微件。

會話微件支持在桌面放置「對話」、「單句」和「卡片」,甚至支持和同樣使用這一應用的人在桌面上「聊天」。我們可以利用會話微件放置自己喜歡的歌詞或名言,還能夠查看天氣甚至查詢物流情況,根據會話微件的教程,我們能夠做出各種效果的桌面小部件。具體實用與否還要由你來定奪。

E. android 自定義的launcher在6.0後需要動態申請許可權

6.0許可權的基本知識,以下是需要單獨申請的許可權,共分為9組,每組只要有一個許可權申請成功了,就默認整組許可權都可以使用了。

group:android.permission-group.CONTACTS
permission:android.permission.WRITE_CONTACTS
permission:android.permission.GET_ACCOUNTS
permission:android.permission.READ_CONTACTS group:android.permission-group.PHONE
permission:android.permission.READ_CALL_LOG
permission:android.permission.READ_PHONE_STATE
permission:android.permission.CALL_PHONE
permission:android.permission.WRITE_CALL_LOG
permission:android.permission.USE_SIP
permission:android.permission.PROCESS_OUTGOING_CALLS
permission:com.android.voicemail.permission.ADD_VOICEMAIL group:android.permission-group.CALENDAR
permission:android.permission.READ_CALENDAR
permission:android.permission.WRITE_CALENDAR group:android.permission-group.CAMERA
permission:android.permission.CAMERA group:android.permission-group.SENSORS
permission:android.permission.BODY_SENSORS group:android.permission-group.LOCATION
permission:android.permission.ACCESS_FINE_LOCATION
permission:android.permission.ACCESS_COARSE_LOCATION group:android.permission-group.STORAGE
permission:android.permission.READ_EXTERNAL_STORAGE
permission:android.permission.WRITE_EXTERNAL_STORAGE group:android.permission-group.MICROPHONE
permission:android.permission.RECORD_AUDIO group:android.permission-group.SMS
permission:android.permission.READ_SMS
permission:android.permission.RECEIVE_WAP_PUSH
permission:android.permission.RECEIVE_MMS
permission:android.permission.RECEIVE_SMS
permission:android.permission.SEND_SMS
permission:android.permission.READ_CELL_BROADCASTS

F. android 怎麼改變應用圖標

在windows7操作系統Android studio中使用如下方法改變android的應用圖標.。

1、使用android studio創建一個項目,如下圖:

3、修改android:icon="@mipmap/ic_launcher"屬性,選擇一張圖片,即可更好應用的圖標。

G. android 怎樣調用launcher

如果你要定製一個Android系統,你想用你自己的Launcher(Home)作主界面來替換Android自帶的Home,而且不希望用戶安裝的Launcher來替換掉你的Launcher,應該如何來實現呢?
我們可以通過修改Framework層來實現這樣的功能。

1) 首先了解一下Android的啟動過程。
Android系統的啟動先從Zygote開始啟動,然後......(中間的過程就不說了).....一直到了SystemServer(framework)這個地方,看到這段代碼:

/**
* This method is called from Zygote to initialize the system. This willcause the native
* services (SurfaceFlinger, AudioFlinger, etc..) to be started. Afterthat it will call back
* up into init2() to start the Android services.
*/
native public static void init1(String[] args);

public static void main(String[] args) {
if (SamplingProfilerIntegration.isEnabled()) {
SamplingProfilerIntegration.start();
timer = new Timer();
timer.schele(new TimerTask() {
@Override
public void run() {
SamplingProfilerIntegration.writeSnapshot("system_server");
}
}, SNAPSHOT_INTERVAL, SNAPSHOT_INTERVAL);
}

// The system server has to run all of the time, so it needs to be
// as efficient as possible with its memory usage.
VMRuntime.getRuntime().setTargetHeapUtilization(0.8f);

System.loadLibrary("android_servers");
init1(args);
}

public static final void init2() {
Log.i(TAG, "Entered the Android system server!");
Thread thr = new ServerThread();
thr.setName("android.server.ServerThread");
thr.start();
}
}

從SystemServer的main函數開始啟動各種服務:
首先啟動init1,然後啟動init2.從上面的注釋可以看到:init1這個方法時被Zygote調用來初始化系統的,init1會啟動native的服務如SurfaceFlinger,AudioFlinger等等,這些工作做完以後會回調init2來啟動Android的service。

這里我們主要來關注init2的過程。init2中啟動ServerThread線程,ServerThread中啟動了一系列的服務,比如這些:

ActivityManagerService
EntropyService
PowerManagerService
TelephonyRegistry
PackageManagerService
AccountManagerService
BatteryService
HardwareService
Watchdog
SensorService
BluetoothService
StatusBarService
ClipboardService
InputMethodManagerService
NetStatService
ConnectivityService
AccessibilityManagerService
NotificationManagerService
MountService
DeviceStorageMonitorService
LocationManagerService
SearchManagerService
FallbackCheckinService
WallpaperManagerService
AudioService
BackupManagerService
AppWidgetService

這些大大小小的服務起來以後,開始
((ActivityManagerService)ActivityManagerNative.getDefault()).systemReady()
在systemReady後開始開始啟動Launcher。在尋找Launcher的時候是根據HOME的filter(在Manifest中定義的<categoryandroid:name="android.intent.category.HOME" />)來過濾。
然後根據filter出來的HOME來啟動,如果只有一個HOME,則啟動這個HOME,如果用戶自己裝了HOME,那就會彈出來一個列表供用戶選擇。

我們現在希望從這里彈出我們自己定製的Launcher,同時也不希望彈出選擇HOME的界面,我們不希望用戶修改我們的home,比如我們的home上放了好多廣告,以及強制安裝的程序,不希望用戶把它幹掉。

我們可以通過這樣來實現:

2) 定義一個私有的filter選項,然後用這個選項來過濾HOME.
一般情況下我們使用Manifest中定義的<categoryandroid:name="android.intent.category.HOME"來過濾的,我們現在增加一個私有的HOME_FIRST過濾。

在Intent.java(frameworks/base/core/java/android/content/Intent.java)中添加兩行代碼

//lixinso:添加CATEGORY_FS_HOME
@SdkConstant(SdkConstantType.INTENT_CATEGORY)
public static final String CATEGORY_FS_HOME= "android.intent.category.FS_HOME";

3)修改和CATEGORY_HOME相關的所有的地方,都改成CATEGORY_FS_HOME,主要是framework中的這幾個地方:使用grep命令查找要修改的地方:

grep CATEGORY_HOME -l * -R

將上述文件中和CATEGORY_HOME相關的所有的地方,都改成CATEGORY_FS_HOME。
4) 寫一個自己的Launcher.
可以參考android sample中的Launcher,或者android源代碼中的 /packages/apps/Launcher 來寫。
在Launcher中標記其是不是Launcher的最關鍵的代碼時Manifest中的filter:android:name="android.intent.category.HOME"
現在我們定義了自己的filter,那麼,我們在我們自己寫的Launcher中將Manifest改為:
<application android:process="android.process.acore3"android:icon="@drawable/icon"android:label="@string/app_name">
<activity android:name=".FirstAppActivity"
android:label="@string/app_name">
<intent-filter>
<actionandroid:name="android.intent.action.MAIN" />
<categoryandroid:name="android.intent.category. FS_HOME" />
<categoryandroid:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.MONKEY"/>
</intent-filter>
</activity>
</application>

然後將編譯好的apk放到方式fs100_root/system/app目錄下。

5)將Android自帶的Launcher刪除掉
包括源代碼(packages/apps/Launcher)和apk(/out/target/proct/generic/system/app/Launcher.apk)。

6) 重新編譯Android
做完這些工作,就可以重新編譯Android了,我們可以編譯修改過的幾個相關的包,可以用mmm命令來編譯部分的改動。這里需要這樣編譯:

$ source build/envsetup.sh
$ lunch
$ mmm frameworks/base
$ mmm frameworks/base/services/java
$ mmm frameworks/policies/base/mid
$ mmm frameworks/policies/base/phone

重新啟動開發板,從開發板上就可以看到啟動的Launcher是我們自己的Launcher,不會出現默認的Launcher了,也不會出現選擇界面。

9)我們再驗證一下,如果用戶裝上了一個其他的Launcher(Home)會怎麼樣。
從網上找一個一般的Launcher或者自己寫一個一般的Launcher裝上去,重新啟動,不會出現選擇界面。
按HOME鍵也不會出來兩個HOME來選擇。

這樣我們就牢牢控制了用戶的桌面。
只有我們自己定製的HOME才能裝上。這對於定製Android設備的廠商很有用處。

閱讀全文

與androidlauncher定製相關的資料

熱點內容
李煜pdf 瀏覽:834
python寫游戲邏輯 瀏覽:489
pdf轉換成word免費版在線轉換 瀏覽:462
荒廢了三年還能做程序員嗎 瀏覽:656
阿里雲內網vpn伺服器 瀏覽:103
l命令第一個點對第二個點對不上 瀏覽:829
oracle導出表命令 瀏覽:909
怎麼寫域名加密 瀏覽:1003
手機文件壓縮出錯 瀏覽:522
如何登錄毒app 瀏覽:836
汽車中控台加密 瀏覽:862
海南農村信用社app如何開通簡訊 瀏覽:809
phpdns緩存 瀏覽:415
ipad騰訊視頻app如何播放本地視頻 瀏覽:990
蝦米伺服器關閉如何找到以前的歌 瀏覽:18
php自動建站 瀏覽:475
命令與征服3游俠網 瀏覽:970
騰訊雲買哪個地區伺服器 瀏覽:250
香港哪裡有app賣內地零食 瀏覽:685
編譯內核找不到工具鏈 瀏覽:455