編輯:Android開發實例
首先我們來看一下PackageItemInfo,它是包含了一些信息的基類,它的直接子類有:ApplicationInfo、ComponentInfo、InstrumentationInfo、PermissionGroupInfo、PermissionInfo。
它的間接子類有:ActivityInfo、ProviderInfo、ServiceInfo。這個類包含的信息對於所有包中項目是平等的。這些Package items是被Package manager所持有的。這個類提供了屬性的非常普通的基本設置:label、icon和meta-data。這個類的意圖不是被自己調用。它在這只是簡單地分享被package manager返回的所有items之間的普通定義。比如,它自己並不實現Parcelable接口,但卻幫助實現了Parcelable的子類提供了方便的方法。
ApplicationInfo是從一個特定的應用得到的信息。這些信息是從相對應的Androdimanifest.xml的< application>標簽中收集到的。
ResolveInfo這個類是通過解析一個與IntentFilter相對應的intent得到的信息。它部分地對應於從AndroidManifest.xml的< intent>標簽收集到的信息。
PackageManager這個類是用來返回各種的關聯了當前已裝入設備了的應用的包的信息。你可以通過getPacageManager來得到這個類。
ApplicationInfo與ResolveInfo比較:前者能夠得到Icon、Label、meta-data、description。後者只能得到Icon、Label。
下面講一下這幾個類綜合在一起的具體應用:
通過調用PackageManager的方法可以得到兩種不同的信息:
首先要得到manager:
PackageManager manager = getPackageManager();
Java代碼:
List< ApplicationInfo> appList = manager.getInstalledApplications(PackageManager.GET.UNINSTALLED_PAKAGES);它是通過解析AndroidManifest.xml的< application>標簽中得到的,所以它能得到所有的app。
Java代碼:
Intent intent = new Intent(Intent.A CTION_MAIN,null);
intent.addCategory(Intent.CATEGORY_LAUNCHER);
List< ResolveInfo> appList = manager.queryIntentActivities(intent,0);
//它是通過解析< Intent-filter>標簽得到有
< action android:name=”android.intent.action.MAIN”/>
< action android:name=”android.intent.category.LAUNCHER”/>
//這樣的app,所以得到的要比第一種方法少(前者比它多那種service、previder等app)。
手機分辨率基礎知識(DPI,DIP計算) 1.術語和概念 術語 說明 備注 Screen size(屏幕尺寸) 指的是手機實際的物理尺寸,比如常
最近一直在調用微信的API,卻發現一直調用不成功,糾結了好久,各方面找教程,找官方,官方裡的文檔也只是寫得很模糊,說是按三步走。 1、申請App_ID
這幾天因為項目需求,需要在ImageView上面疊加一層透明圓弧,並且在沿著圓弧的方向顯示相應的文字,效果如下圖所示: 拿到這個需求,首先想到的是自定義
本文實例講述了Android編程之菜單實現方法。分享給大家供大家參考,具體如下: 菜單是許多應用程序不可或缺的一部分,Android中更是如此,所有搭載Andro