導航:首頁 > 操作系統 > androidlauncher開發

androidlauncher開發

發布時間:2022-03-03 16:06:03

『壹』 android HOME界面與launcher關系是什麼怎麼做launcher

Android home就是Launcher,就是系統的首頁,只是叫法不一樣,東西是同一個。你說怎麼做是什麼意思?你想自己研發一個來代替系統原配的么?可是如果你想做一個Launcher又不知道,這短時間內學不會的。不如去安裝一些別人做的,兼容性更好,我自己比較喜歡Launcherpro plus和ADW。

『貳』 Android 自定義Launcher開發,添加自己開發的Widget,不能進行更新,該Widget在系統launcher可更新

你的意思是自己開發的Widget添加到自定義的Launcher不能進行更新,而添加到系統Launcher可以進行更新?
如果是這樣,考慮是不是許可權問題?
可否貼下更新的的代碼,方便定位問題。

『叄』 安卓做systemui和luncher開發怎麼樣

使用TableLayout表格布局表格布局模型以行列的形式管理子控制項,每一行為一個TableRow的對象,當然也可以是一個View的對象。TableRow可以添加子控制項,每添加一個為一列。TableLayout屬性:android:collapseColumns:將TableLayout裡面指定的列隱藏,若有多列需要隱藏,請用逗號將需要隱藏的列序號隔開。 android:stretchColumns:設置指定的列為可伸展的列,以填滿剩下的多餘空白空間,若有多列需要設置為可伸展,請用逗號將需要伸展的列序號隔開。 android:shrinkColumns:設置指定的列為可收縮的列。當可收縮的列太寬(內容過多)不會被擠出屏幕。當需要設置多列為可收縮時,將列序號用逗號隔開。 列元素(Button)屬性:(奇怪的是button 裡面沒有android:layout_column 和android:layout_span兩個屬性,寫進去無反應,還不知道為什麼)android:layout_colum:設置該控制項在TableRow中指定的列。android:layout_span:設置該控制項所跨越的列數。

『肆』 《Android Launcher應用開發》怎麼樣

暫時還是不行,目前java已經說了可以使用delphi和vs進行android應用程序開發, 提供了dalvik虛擬機,但是並沒有放出相關插件,可能有第三方工具實現,但是估計不好。 現在最多使用的還是eclipse進行android應用層的開發。 對操作系統沒有具體要求,windows, linux和OSX都有sdk 官方建議linux 希望可以幫助到你。

『伍』 android launcher 怎麼做 有詳細的教程嗎

Launcher工程很大的 這個怎麼給你說啊 你去下載Launcher源碼看看 結合網路上高手給出的解析,反正看著很惱火

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

『柒』 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 launcher開發

Launcher是安卓系統中的桌面啟動器,安卓系統的桌面UI統稱為Launcher。

閱讀全文

與androidlauncher開發相關的資料

熱點內容
常微分第三版答案pdf 瀏覽:262
安卓機qq怎麼開懸浮窗 瀏覽:61
備孕三年了怎麼緩解壓力大 瀏覽:741
登錄阿里雲伺服器黑屏 瀏覽:334
匿名元組Python 瀏覽:723
華為運動健康存儲的文件夾 瀏覽:520
cad正多邊形命令 瀏覽:461
壓縮比150能加97油嗎 瀏覽:397
linux新建群在哪個文件夾 瀏覽:794
韻達快運app在哪裡簽收 瀏覽:336
阿里雲伺服器如何綁定備案域名 瀏覽:273
單片機用什麼鍵盤好 瀏覽:25
android動畫面試 瀏覽:309
pdf無法刪除 瀏覽:90
ftp刪除文件java 瀏覽:89
裂變棋牌源碼 瀏覽:87
邀月命令江別鶴退婚 瀏覽:656
春秋app在哪裡查詢 瀏覽:136
用linux設計 瀏覽:747
安卓intent什麼意思 瀏覽:946