導航:首頁 > 操作系統 > androidiclauncher

androidiclauncher

發布時間:2022-07-27 11:37:36

❶ 如何修改android系統內置的桌面圖標

/packages/apps/Launcher/res/xml/default_workspace.xml中記錄了系統初始化或者恢復出廠設置時桌面上圖標的排列。Launcher程序第一次運行完畢以後,會在/data/data/com.android.launcher/databases/launcher.db中創建記錄,裡面有所有當前的桌面圖標。以後每次啟動只會從這里讀取桌面圖標。

下面簡單分析一下default_workspace.xml:

default_workspace.xml中,支持的標簽有:

favorite:應用程序快捷方式。

shortcut:鏈接,如網址,本地磁碟路徑等。

search:搜索框。

clock:桌面上的鍾表Widget

支持的屬性有:

launcher:title,圖標下面的文字,目前只支持引用,不能直接書寫字元串。

launcher:icon,圖標引用。

launcher:uri,鏈接地址。

launcher:packageName,應用程序的包名。

launcher:className,應用程序的啟動類名。

launcher:screen,圖標所在的屏幕編號。

launcher:x,圖標在橫向排列上的序號。

launcher:y,圖標在縱向排列上的序號。

LauncherProvider.java裡面的loadFavorites方法負責解析。

應用程序的寫法,default_workspace.xml中有很多,對鏈接的寫法卻沒有,我分析了一下它的解析程序,反向做出了鏈接快捷方式的寫法,已經驗證成功,希望可以幫到大家。

launcher:title="@string/aaa"

launcher:icon="@drawable/aaa"

launcher:uri="http://www.aaa.com"

launcher:screen="1"

launcher:x="0"

launcher:y="3" />

鏈接的圖標內容和文字內容是從default_workspace.xml中獲取到的。

應用程序的圖標內容和圖標下面的文字內容都是從PackageManager中獲取到的。

如果Launcher啟動時,應用程序的包名和類名因為某種原因沒有在PackageManager中找到,桌面就不會顯示它的圖標。如果類名和包名找到了,但是圖標沒有找到,會顯示Android默認的小機器人圖標。

所以,要在default_workspace.xml中加入錠接時,只要寫上title,icon,uri,screen,x,y這幾個屬性就可以了。

而要加入應用程序時,只要寫上packageName,className,screen,x,y這幾個屬性就可以了。

❷ 在android中「launch」和「launcher」的中文意思是什麼呀一直都很納悶

launch是啟動,是動詞,launcher是啟動器,是名詞。電腦中常用這兩個詞作為執行文件的文件名,其他常用的還有star,load等等,本身沒有什麼太嚴謹的意義區分,用哪個都可以。

❸ Android App 應該怎樣創建桌面圖標

1、最簡單方法,打開新安裝的軟體,會自動提示創建桌面圖標
2、長按該APP,當界面的所有圖標都在微微震動後,把APP拖到桌面即可。

❹ 我編寫了一個android小程序,運行一切正常,就是在虛擬機里這個程序沒有圖標,這是怎麼回事,如圖:

在AndroidManifest.xml配置文件里
application里有一個屬性android:icon="@drawable/ic_launcher"是配置桌面圖標的。
你看下你的配置文件里有沒有這個屬性。

❺ Eclipse下Android工程目錄下的ic_launcher-web.png的作用

這是谷歌play(谷歌市場)上的一個圖標,你要提供一個512*512大小的圖標

❻ 如何更改安卓系統軟體圖標和名稱

1、首先把APK
Editor安裝到安卓手機上,然後打開它,選擇第二個選項:選擇一個應用作為APK,然後找到需要修改名稱和圖標的應用。
2、下面是這個驚人的遠程式控制制演示效果的示例,選擇要修改和彈出不同資源的修改模式的應用程序,選擇第三個常見編輯,這意味著編輯公共屬性。
3、修改應用程序名稱和啟動器圖標,即應用程序名稱和圖標。值得注意的是,圖標被修改為選擇.png格式圖像。為了獲得更好的圖標效果,最好使用144
*
144尺寸的清晰圖像。修改保存應用程序。
4、保存後,您可以看到新.apk文件的位置。為方便起見,您可以直接安裝和覆蓋原始應用程序。例如,單個應用程序無法直接覆蓋它。您可以在安裝新應用程序之前選擇刪除或卸載原始應用程序。如果生成的應用程序檢測到安裝界面並且可以忽略它,則可能會出現風險警告。這是因為apk的簽名已更改,因此系統將檢測到提示。
5、安裝完成後,返回Android系統的主界面,修改後可以看到應用程序名稱和圖標。如果是系統應用程序,則需要具有root許可權才能對其進行修改。當然,APK編輯器不僅可以修改名稱和圖標,例如編輯和修改其他資源,它對於某些應用程序刪除和阻止廣告也非常有用。

❼ 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設備的廠商很有用處。

❽ android項目已經創建好好了怎麼一下子修改ic_launcher.png

是類似這樣換桌面圖標嗎?如果怕麻煩,直接把圖片名字改成ic_launcher.png將機器人圖片替換掉即可

❾ android launcher 什麼時候啟動

Android系統的Home應用程序Launcher是由ActivityManagerService啟動的,而ActivityManagerService和PackageManagerService一樣,都是在開機時由SystemServer組件啟動的,SystemServer組件首先是啟動ePackageManagerServic,由它來負責安裝系統的應用程序,具體可以參考前面一篇文章Android應用程序安裝過程源代碼分析,系統中的應用程序安裝好了以後,SystemServer組件接下來就要通過ActivityManagerService來啟動Home應用程序Launcher了,Launcher在啟動的時候便會通過PackageManagerServic把系統中已經安裝好的應用程序以快捷圖標的形式展示在桌面上,這樣用戶就可以使用這些應用程序了

❿ 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以後,桌面應用圖標並沒有變,需要重啟手機才會生效.

閱讀全文

與androidiclauncher相關的資料

熱點內容
碩士英語綜合教程pdf 瀏覽:46
分段加密的安全性 瀏覽:507
咪咕直播為什麼沒有適配安卓系統 瀏覽:172
php模版大全 瀏覽:102
沒車能解壓嗎 瀏覽:634
php開發oa系統源碼 瀏覽:759
怎麼安裝蘋果ios的app 瀏覽:581
app拉新如何機刷 瀏覽:480
zendeclipseforphp 瀏覽:480
同時有幾個微信如何加密微信 瀏覽:86
大眾20t壓縮比 瀏覽:566
程序員要記住的500個單詞 瀏覽:830
wq快捷方式在哪個文件夾 瀏覽:965
雲南到河北源碼 瀏覽:92
安卓手機怎麼玩造夢3 瀏覽:60
多玩我的世界盒子怎麼創造伺服器地址 瀏覽:986
手機如何下載米家app 瀏覽:96
未知來源app在哪裡 瀏覽:206
命令與征服3合集 瀏覽:752
有免稅標簽有溯源碼是假的嗎 瀏覽:218