編輯:高級開發
ApplicationInfo是從一個特定的應用得到的信息。這些信息是從相對應的Androdimanifest.XML的< application>標簽中收集到的。
ResolveInfo這個類是通過解析一個與IntentFilter相對應的intent得到的信息。它部分地對應於從androidManifest.XML的< intent>標簽收集到的信息。
PackageManager這個類是用來返回各種的關聯了當前已裝入設備了的應用的包的信息。你可以通過getPacageManager來得到這個類。
ApplicationInfo與ResolveInfo比較:前者能夠得到Icon、Label、meta-data、description。後者只能得到Icon、Label。
下面講一下這幾個類綜合在一起的具體應用:
通過調用PackageManager的方法可以得到兩種不同的信息:
首先要得到manager:
1 PackageManager manager = getPackageManager();
方法一:
List< ApplicationInfo> appList = manager.getInstalledApplications(PackageManager.GET.UNINSTALLED_PAKAGES);
它是通過解析androidManifest.XML的< application>標簽中得到的,所以它能得到所有的app。
方法二:
1 Intent intent = new Intent(Intent.A CTION_MAIN,null);
2
3 intent.addCategory(Intent.CATEGORY_LAUNCHER);
4
5 List< ResolveInfo> appList = manager.queryIntentActivitIEs(intent,0);
它是通過解析< Intent-filter>標簽得到有
1 < action android:name=”android.intent.action.MAIN”/>
2
3 < action android:name=”android.intent.category.LAUNCHER”/>
這樣的app,所以得到的要比第一種方法少(前者比它多那種service、previder等app)。
很多人對android2.0已經十分期待了,鑒於強大的功能性以及快速。android未來的市場將是十分廣闊的。搭載Android2.0源碼的摩托羅拉Droid手機已經上
ock; margin-left: auto; margin-right: auto; src=/School/UploadFiles_7810/201203/2012
android模擬器的重點就是商業應用,Google采用了一些手法來繞過這問題,建築在android之上的硬件驅動和應用程序,要求開源社區為它做貢獻,卻又不願提供回報。
Google的開源android移動操作系統正在席卷全球智能手機市場,和蘋果不一樣,它對那些想將應用程序提交到iPhone App Store的開發人員有著嚴格的指導方