日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android中获取应用程序(包)的信息-----PackageManager的使用(一)

發(fā)布時(shí)間:2023/11/29 Android 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中获取应用程序(包)的信息-----PackageManager的使用(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本節(jié)內(nèi)容是如何獲取Android系統(tǒng)中應(yīng)用程序的信息,主要包括packagename、label、icon、占用大小等。具體分為兩個(gè)

?部分,計(jì)劃如下:

??????????? 第一部分: 獲取應(yīng)用程序的packagename、label、icon等 ;

?????????? ?第二部分: 獲取應(yīng)用程序的占用大小,包括:緩存大小(cachsize)、數(shù)據(jù)大小(datasize)。

?

??? ?? 每部分都為您準(zhǔn)備了簡(jiǎn)單豐富的實(shí)例,您一定不會(huì)錯(cuò)過。

?

????? Android系統(tǒng)為我們提供了很多服務(wù)管理的類,包括ActivityManager、PowerManager(電源管理)、AudioManager(音頻管理)

等。除此之外,還提供了一個(gè)PackageManger管理類,它的主要職責(zé)是管理應(yīng)用程序包。 通過它,我們就可以獲取應(yīng)用程序信息。

?

???? 引入: AnroidManifest.xml文件節(jié)點(diǎn)說明:

????

一、相關(guān)類的介紹

?

????PackageItemInfo類

????? ????說明: AndroidManifest.xml文件中所有節(jié)點(diǎn)的基類,提供了這些節(jié)點(diǎn)的基本信息:a label、icon、 meta-data。它并不

?????直接使用,而是由子類繼承然后調(diào)用相應(yīng)方法。

????????? 常用字段

????????????? ?public int icon ????????? 獲得該資源圖片在R文件中的值 (對(duì)應(yīng)于android:icon屬性)

????????????? ?public int labelRes???? 獲得該label在R文件中的值(對(duì)應(yīng)于android:label屬性)

?????????????? public String name?? 獲得該節(jié)點(diǎn)的name值?(對(duì)應(yīng)于android:name屬性)

?????????????? public?String packagename?? 獲得該應(yīng)用程序的包名?(對(duì)應(yīng)于android:packagename屬性)

????????常用方法

????????????? Drawable? loadIcon(PackageManager pm)????????????? ?獲得當(dāng)前應(yīng)用程序的圖像

????????????? CharSequence? loadLabel(PackageManager pm)???? 獲得當(dāng)前應(yīng)用程序的label

?

???ActivityInfo類? 繼承自 PackageItemInfo

??????????說明: 獲得應(yīng)用程序中<activity/>或者 <receiver />節(jié)點(diǎn)的信息 。我們可以通過它來獲取我們?cè)O(shè)置的任何屬性,包括

????? theme 、launchMode、launchmode等

????????????常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()?

?

?? ServiceInfo 類

????????? 說明: 同ActivityInfo類似 ,同樣繼承自 PackageItemInfo,只不過它表示的是<service>節(jié)點(diǎn)信息。

?

? ?ApplicationInfo類 繼承自? PackageItemInfo

??????? ?說明:獲取一個(gè)特定引用程序中<application>節(jié)點(diǎn)的信息。

???????? 字段說明

   ? ?flags字段: FLAG_SYSTEM 系統(tǒng)應(yīng)用程序

     ??????????? ? FLAG_EXTERNAL_STORAGE 表示該應(yīng)用安裝在sdcard中

??????? ?常用方法繼承至PackageItemInfo類中的loadIcon()和loadLabel()

?

? ResolveInfo類

??????? 說明:根據(jù)<intent>節(jié)點(diǎn)來獲取其上一層目錄的信息,通常是<activity>、<receiver>、<service>節(jié)點(diǎn)信息。

???????常用字段

???????????? public? ActivityInfo? activityInfo???? 獲取 ActivityInfo對(duì)象,即<activity>或<receiver >節(jié)點(diǎn)信息

??????????? ?public ServiceInfo?? serviceInfo??? ?獲取 ServiceInfo對(duì)象,即<service>節(jié)點(diǎn)信息

???? ? 常用方法:?

??????????? ?Drawable loadIcon(PackageManager pm)??????????? ?獲得當(dāng)前應(yīng)用程序的圖像

??????????? ?CharSequence loadLabel(PackageManager pm)??獲得當(dāng)前應(yīng)用程序的label

?

?PackageInfo類

????? ?說明:手動(dòng)獲取AndroidManifest.xml文件的信息 。

???????常用字段

?????????? public String??? packageName????????????????? ?包名

???????????public ActivityInfo[]???? activities?? ?????????????? ?所有<activity>節(jié)點(diǎn)信息

?????????? public ApplicationInfo applicationInfo???????<application>節(jié)點(diǎn)信息,只有一個(gè)

???????????public ActivityInfo[]?? ?receivers???????????? ??? ?所有<receiver>節(jié)點(diǎn)信息,多個(gè)

?????????? public ServiceInfo[]??? services?????????????? ?? 所有<service>節(jié)點(diǎn)信息 ,多個(gè)

?

PackageManger 類

????? 說明: 獲得已安裝的應(yīng)用程序信息 。可以通過getPackageManager()方法獲得。

????? 常用方法

??????????public abstract PackageManager? getPackageManager()???

???????????????功能:獲得一個(gè)PackageManger對(duì)象

?????? ??public abstrac? tDrawable??? getApplicationIcon(StringpackageName)

???????????????參數(shù): packageName 包名

???????????????功能:返回給定包名的圖標(biāo),否則返回null

?

???????public abstract ApplicationInfo???getApplicationInfo(String packageName, int flags)

?

???????????????參數(shù):packagename 包名

?????????????????????? ? ??flags 該ApplicationInfo是此flags標(biāo)記,通常可以直接賦予常數(shù)0即可

???????????????功能:返回該ApplicationInfo對(duì)象

?

????????? public abstract?List<ApplicationInfo>? getInstalledApplications(int flags)

?????????????? 參數(shù):flag為一般為GET_UNINSTALLED_PACKAGES,那么此時(shí)會(huì)返回所有ApplicationInfo。我們可以對(duì)ApplicationInfo

???????????????????? 的flags過濾,得到我們需要的。

?????????????? 功能:返回給定條件的所有PackageInfo

?

??????? ??public abstract?List<PackageInfo>? getInstalledPackages(int flags)?

???????????? 參數(shù)如上

???? ?????? ?功能:返回給定條件的所有PackageInfo

?

???????public abstractResolveInfo? resolveActivity(Intent intent, int flags)

??????????? 參數(shù):? intent?查尋條件,Activity所配置的action和category

???????????????????????? ?flags:?MATCH_DEFAULT_ONLY?? ?:Category必須帶有CATEGORY_DEFAULT的Activity,才匹配

???????????????????????????????????? ?GET_INTENT_FILTERS?????? ? :匹配Intent條件即可

??????????????????????????????????????????????????GET_RESOLVED_FILTER????:匹配Intent條件即可

??????????? 功能 :返回給定條件的ResolveInfo對(duì)象(本質(zhì)上是Activity)?

?

???????public abstract??List<ResolveInfo>? queryIntentActivities(Intent intent, int flags)

??????????? 參數(shù)同上

????????????功能 :返回給定條件的所有ResolveInfo對(duì)象(本質(zhì)上是Activity),集合對(duì)象

?

??????public abstract ResolveInfo? resolveService(Intent intent, int flags)

?????????? 參數(shù)同上

???????????功能 :返回給定條件的ResolveInfo對(duì)象(本質(zhì)上是Service)

?

?????public abstract List<ResolveInfo>?queryIntentServices(Intent intent, int flags)

????????? 參數(shù)同上

??????????功能 :返回給定條件的所有ResolveInfo對(duì)象(本質(zhì)上是Service),集合對(duì)象

?

二、DEMO講解

?

??????????? 通過前面的介紹,相信您一定很了解了,本質(zhì)上來講,這些XXXInfo類不過是我們?cè)贏ndroidManifest.XML文件中定義的信息,

知道到這點(diǎn)了,理解起來就不是很難了。

??????? ?下面我透過兩個(gè)簡(jiǎn)答的DEMO,來學(xué)以致用。

?????????? Demo 1: 通過queryIntentActivities()方法,查詢Android系統(tǒng)的所有具備ACTION_MAIN和CATEGORY_LAUNCHER

????? 的Intent的應(yīng)用程序,點(diǎn)擊后,能啟動(dòng)該應(yīng)用,說白了就是做一個(gè)類似Home程序的簡(jiǎn)易Launcher 。

???????? ? Demo 2 :通過getInstalledApplications()方法獲取應(yīng)用,然后對(duì)其過濾,查找出我們需要的第三方應(yīng)用,系統(tǒng)應(yīng)用,安裝在sdcard的應(yīng)用。

?

? ??? Demo1? :

?????????圖:

??????????? ??

??1 、布局文件: 主要有兩個(gè):帶listview的browse_app_list.xml文件 ;listview的項(xiàng)browse_app_item.xml

browse_app_list.xml

[java] view plaincopyprint?
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:orientation="vertical"?android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent">>??
  • ????<ListView?android:id="@+id/listviewApp"?android:layout_width="fill_parent"??
  • ????????android:layout_height="fill_parent"?></ListView>??
  • </LinearLayout>??
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical" android:layout_width="fill_parent"android:layout_height="fill_parent">><ListView android:id="@+id/listviewApp" android:layout_width="fill_parent"android:layout_height="fill_parent" ></ListView> </LinearLayout>

    browse_app_item.xmlbrowse_app_item.xml

    [java] view plaincopyprint?
  • <?xml?version="1.0"?encoding="utf-8"?>??
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="fill_parent"?android:layout_height="50dip">??
  • ??
  • ????<ImageView?android:id="@+id/imgApp"?android:layout_width="wrap_content"??
  • ????????android:layout_height="fill_parent"?></ImageView>??
  • ????<RelativeLayout?android:layout_width="fill_parent"??android:layout_marginLeft="10dip"??
  • ????????android:layout_height="40dip">??
  • ????????<TextView?android:id="@+id/tvLabel"?android:layout_width="wrap_content"??
  • ????????????android:layout_height="wrap_content"?android:text="AppLable?:?"></TextView>??
  • ????????<TextView?android:id="@+id/tvAppLabel"?android:layout_width="wrap_content"??
  • ????????????android:layout_toRightOf="@id/tvLabel"?android:layout_height="wrap_content"??
  • ????????????android:layout_marginLeft="3dip"?android:text="Label"?android:textColor="#FFD700"></TextView>??
  • ????????<TextView?android:id="@+id/tvName"?android:layout_width="wrap_content"??
  • ????????????android:layout_height="wrap_content"?android:layout_below="@id/tvLabel"???
  • ????????????android:text="包名:"></TextView>??
  • ????????<TextView?android:id="@+id/tvPkgName"?android:layout_width="wrap_content"??
  • ????????????android:layout_height="wrap_content"?android:layout_below="@id/tvAppLabel"??
  • ????????????android:layout_alignLeft="@id/tvAppLabel"?android:textColor="#FFD700"></TextView>??
  • ????</RelativeLayout>??
  • </LinearLayout>??
  • <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="50dip"><ImageView android:id="@+id/imgApp" android:layout_width="wrap_content"android:layout_height="fill_parent" ></ImageView><RelativeLayout android:layout_width="fill_parent" android:layout_marginLeft="10dip"android:layout_height="40dip"><TextView android:id="@+id/tvLabel" android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="AppLable : "></TextView><TextView android:id="@+id/tvAppLabel" android:layout_width="wrap_content"android:layout_toRightOf="@id/tvLabel" android:layout_height="wrap_content"android:layout_marginLeft="3dip" android:text="Label" android:textColor="#FFD700"></TextView><TextView android:id="@+id/tvName" android:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_below="@id/tvLabel" android:text="包名:"></TextView><TextView android:id="@+id/tvPkgName" android:layout_width="wrap_content"android:layout_height="wrap_content" android:layout_below="@id/tvAppLabel"android:layout_alignLeft="@id/tvAppLabel" android:textColor="#FFD700"></TextView></RelativeLayout> </LinearLayout>

    ???????

    2 、AppInfo.java : 保存應(yīng)用程序信息的Model類

    [java] view plaincopyprint?
  • /Model類?,用來存儲(chǔ)應(yīng)用程序信息??
  • public?class?AppInfo?{??
  • ????
  • ????private?String?appLabel;????//應(yīng)用程序標(biāo)簽??
  • ????private?Drawable?appIcon?;??//應(yīng)用程序圖像??
  • ????private?Intent?intent?;?????//啟動(dòng)應(yīng)用程序的Intent?,一般是Action為Main和Category為L(zhǎng)ancher的Activity??
  • ????private?String?pkgName?;????//應(yīng)用程序所對(duì)應(yīng)的包名??
  • ??????
  • ????public?AppInfo(){}??
  • ??????
  • ????public?String?getAppLabel()?{??
  • ????????return?appLabel;??
  • ????}??
  • ????public?void?setAppLabel(String?appName)?{??
  • ????????this.appLabel?=?appName;??
  • ????}??
  • ????public?Drawable?getAppIcon()?{??
  • ????????return?appIcon;??
  • ????}??
  • ????public?void?setAppIcon(Drawable?appIcon)?{??
  • ????????this.appIcon?=?appIcon;??
  • ????}??
  • ????public?Intent?getIntent()?{??
  • ????????return?intent;??
  • ????}??
  • ????public?void?setIntent(Intent?intent)?{??
  • ????????this.intent?=?intent;??
  • ????}??
  • ????public?String?getPkgName(){??
  • ????????return?pkgName?;??
  • ????}??
  • ????public?void?setPkgName(String?pkgName){??
  • ????????this.pkgName=pkgName?;??
  • ????}??
  • }??
  • /Model類 ,用來存儲(chǔ)應(yīng)用程序信息 public class AppInfo {private String appLabel; //應(yīng)用程序標(biāo)簽private Drawable appIcon ; //應(yīng)用程序圖像private Intent intent ; //啟動(dòng)應(yīng)用程序的Intent ,一般是Action為Main和Category為L(zhǎng)ancher的Activityprivate String pkgName ; //應(yīng)用程序所對(duì)應(yīng)的包名public AppInfo(){}public String getAppLabel() {return appLabel;}public void setAppLabel(String appName) {this.appLabel = appName;}public Drawable getAppIcon() {return appIcon;}public void setAppIcon(Drawable appIcon) {this.appIcon = appIcon;}public Intent getIntent() {return intent;}public void setIntent(Intent intent) {this.intent = intent;}public String getPkgName(){return pkgName ;}public void setPkgName(String pkgName){this.pkgName=pkgName ;} }

    ?3、 BrowseApplicationInfoAdapter.java : 自定義適配器類,為L(zhǎng)istView提供視圖

    [java] view plaincopyprint?
  • //自定義適配器類,提供給listView的自定義view??
  • public?class?BrowseApplicationInfoAdapter?extends?BaseAdapter?{??
  • ??????
  • ????private?List<AppInfo>?mlistAppInfo?=?null;??
  • ??????
  • ????LayoutInflater?infater?=?null;??
  • ??????
  • ????public?BrowseApplicationInfoAdapter(Context?context,??List<AppInfo>?apps)?{??
  • ????????infater?=?(LayoutInflater)?context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);??
  • ????????mlistAppInfo?=?apps?;??
  • ????}??
  • ????@Override??
  • ????public?int?getCount()?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????System.out.println("size"?+?mlistAppInfo.size());??
  • ????????return?mlistAppInfo.size();??
  • ????}??
  • ????@Override??
  • ????public?Object?getItem(int?position)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????return?mlistAppInfo.get(position);??
  • ????}??
  • ????@Override??
  • ????public?long?getItemId(int?position)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????return?0;??
  • ????}??
  • ????@Override??
  • ????public?View?getView(int?position,?View?convertview,?ViewGroup?arg2)?{??
  • ????????System.out.println("getView?at?"?+?position);??
  • ????????View?view?=?null;??
  • ????????ViewHolder?holder?=?null;??
  • ????????if?(convertview?==?null?||?convertview.getTag()?==?null)?{??
  • ????????????view?=?infater.inflate(R.layout.browse_app_item,?null);??
  • ????????????holder?=?new?ViewHolder(view);??
  • ????????????view.setTag(holder);??
  • ????????}???
  • ????????else{??
  • ????????????view?=?convertview?;??
  • ????????????holder?=?(ViewHolder)?convertview.getTag()?;??
  • ????????}??
  • ????????AppInfo?appInfo?=?(AppInfo)?getItem(position);??
  • ????????holder.appIcon.setImageDrawable(appInfo.getAppIcon());??
  • ????????holder.tvAppLabel.setText(appInfo.getAppLabel());??
  • ????????holder.tvPkgName.setText(appInfo.getPkgName());??
  • ????????return?view;??
  • ????}??
  • ??
  • ????class?ViewHolder?{??
  • ????????ImageView?appIcon;??
  • ????????TextView?tvAppLabel;??
  • ????????TextView?tvPkgName;??
  • ??
  • ????????public?ViewHolder(View?view)?{??
  • ????????????this.appIcon?=?(ImageView)?view.findViewById(R.id.imgApp);??
  • ????????????this.tvAppLabel?=?(TextView)?view.findViewById(R.id.tvAppLabel);??
  • ????????????this.tvPkgName?=?(TextView)?view.findViewById(R.id.tvPkgName);??
  • ????????}??
  • ????}??
  • }??
  • //自定義適配器類,提供給listView的自定義view public class BrowseApplicationInfoAdapter extends BaseAdapter {private List<AppInfo> mlistAppInfo = null;LayoutInflater infater = null;public BrowseApplicationInfoAdapter(Context context, List<AppInfo> apps) {infater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);mlistAppInfo = apps ;}@Overridepublic int getCount() {// TODO Auto-generated method stubSystem.out.println("size" + mlistAppInfo.size());return mlistAppInfo.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn mlistAppInfo.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(int position, View convertview, ViewGroup arg2) {System.out.println("getView at " + position);View view = null;ViewHolder holder = null;if (convertview == null || convertview.getTag() == null) {view = infater.inflate(R.layout.browse_app_item, null);holder = new ViewHolder(view);view.setTag(holder);} else{view = convertview ;holder = (ViewHolder) convertview.getTag() ;}AppInfo appInfo = (AppInfo) getItem(position);holder.appIcon.setImageDrawable(appInfo.getAppIcon());holder.tvAppLabel.setText(appInfo.getAppLabel());holder.tvPkgName.setText(appInfo.getPkgName());return view;}class ViewHolder {ImageView appIcon;TextView tvAppLabel;TextView tvPkgName;public ViewHolder(View view) {this.appIcon = (ImageView) view.findViewById(R.id.imgApp);this.tvAppLabel = (TextView) view.findViewById(R.id.tvAppLabel);this.tvPkgName = (TextView) view.findViewById(R.id.tvPkgName);}} }

    ?

    4 、MainActivity.java 主工程邏輯?

    ????????? 請(qǐng)仔細(xì)體會(huì)queryIntentActivities()方法,并且注意到排序,它很重要。

    [java] view plaincopyprint?
  • <span?style="font-size:?13px;">public?class?MainActivity?extends?Activity?implements?OnItemClickListener?{??
  • ??
  • ????private?ListView?listview?=?null;??
  • ??
  • ????private?List<AppInfo>?mlistAppInfo?=?null;??
  • ??
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.browse_app_list);??
  • ??
  • ????????listview?=?(ListView)?findViewById(R.id.listviewApp);??
  • ????????mlistAppInfo?=?new?ArrayList<AppInfo>();??
  • ????????queryAppInfo();?//?查詢所有應(yīng)用程序信息??
  • ????????BrowseApplicationInfoAdapter?browseAppAdapter?=?new?BrowseApplicationInfoAdapter(??
  • ????????????????this,?mlistAppInfo);??
  • ????????listview.setAdapter(browseAppAdapter);??
  • ????????listview.setOnItemClickListener(this);??
  • ????}??
  • ????//?點(diǎn)擊跳轉(zhuǎn)至該應(yīng)用程序??
  • ????public?void?onItemClick(AdapterView<?>?arg0,?View?view,?int?position,??
  • ????????????long?arg3)?{??
  • ????????//?TODO?Auto-generated?method?stub??
  • ????????Intent?intent?=?mlistAppInfo.get(position).getIntent();??
  • ????????startActivity(intent);??
  • ????}??
  • ????//?獲得所有啟動(dòng)Activity的信息,類似于Launch界面??
  • ????public?void?queryAppInfo()?{??
  • ????????PackageManager?pm?=?this.getPackageManager();?//?獲得PackageManager對(duì)象??
  • ????????Intent?mainIntent?=?new?Intent(Intent.ACTION_MAIN,?null);??
  • ????????mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);??
  • ????????//?通過查詢,獲得所有ResolveInfo對(duì)象.??
  • ????????List<ResolveInfo>?resolveInfos?=?pm??
  • ????????????????.queryIntentActivities(mainIntent,?PackageManager.MATCH_DEFAULT_ONLY);??
  • ????????//?調(diào)用系統(tǒng)排序?,?根據(jù)name排序??
  • ????????//?該排序很重要,否則只能顯示系統(tǒng)應(yīng)用,而不能列出第三方應(yīng)用程序??
  • ????????Collections.sort(resolveInfos,new?ResolveInfo.DisplayNameComparator(pm));??
  • ????????if?(mlistAppInfo?!=?null)?{??
  • ????????????mlistAppInfo.clear();??
  • ????????????for?(ResolveInfo?reInfo?:?resolveInfos)?{??
  • ????????????????String?activityName?=?reInfo.activityInfo.name;?//?獲得該應(yīng)用程序的啟動(dòng)Activity的name??
  • ????????????????String?pkgName?=?reInfo.activityInfo.packageName;?//?獲得應(yīng)用程序的包名??
  • ????????????????String?appLabel?=?(String)?reInfo.loadLabel(pm);?//?獲得應(yīng)用程序的Label??
  • ????????????????Drawable?icon?=?reInfo.loadIcon(pm);?//?獲得應(yīng)用程序圖標(biāo)??
  • ????????????????//?為應(yīng)用程序的啟動(dòng)Activity?準(zhǔn)備Intent??
  • ????????????????Intent?launchIntent?=?new?Intent();??
  • ????????????????launchIntent.setComponent(new?ComponentName(pkgName,??
  • ????????????????????????activityName));??
  • ????????????????//?創(chuàng)建一個(gè)AppInfo對(duì)象,并賦值??
  • ????????????????AppInfo?appInfo?=?new?AppInfo();??
  • ????????????????appInfo.setAppLabel(appLabel);??
  • ????????????????appInfo.setPkgName(pkgName);??
  • ????????????????appInfo.setAppIcon(icon);??
  • ????????????????appInfo.setIntent(launchIntent);??
  • ????????????????mlistAppInfo.add(appInfo);?//?添加至列表中??
  • ????????????????System.out.println(appLabel?+?"?activityName---"?+?activityName??
  • ????????????????????????+?"?pkgName---"?+?pkgName);??
  • ????????????}??
  • ????????}??
  • ????}??
  • }</span>??
  • public class MainActivity extends Activity implements OnItemClickListener {private ListView listview = null;private List<AppInfo> mlistAppInfo = null;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.browse_app_list);listview = (ListView) findViewById(R.id.listviewApp);mlistAppInfo = new ArrayList<AppInfo>();queryAppInfo(); // 查詢所有應(yīng)用程序信息BrowseApplicationInfoAdapter browseAppAdapter = new BrowseApplicationInfoAdapter(this, mlistAppInfo);listview.setAdapter(browseAppAdapter);listview.setOnItemClickListener(this);}// 點(diǎn)擊跳轉(zhuǎn)至該應(yīng)用程序public void onItemClick(AdapterView<?> arg0, View view, int position,long arg3) {// TODO Auto-generated method stubIntent intent = mlistAppInfo.get(position).getIntent();startActivity(intent);}// 獲得所有啟動(dòng)Activity的信息,類似于Launch界面public void queryAppInfo() {PackageManager pm = this.getPackageManager(); // 獲得PackageManager對(duì)象Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);// 通過查詢,獲得所有ResolveInfo對(duì)象.List<ResolveInfo> resolveInfos = pm.queryIntentActivities(mainIntent, PackageManager.MATCH_DEFAULT_ONLY);// 調(diào)用系統(tǒng)排序 , 根據(jù)name排序// 該排序很重要,否則只能顯示系統(tǒng)應(yīng)用,而不能列出第三方應(yīng)用程序Collections.sort(resolveInfos,new ResolveInfo.DisplayNameComparator(pm));if (mlistAppInfo != null) {mlistAppInfo.clear();for (ResolveInfo reInfo : resolveInfos) {String activityName = reInfo.activityInfo.name; // 獲得該應(yīng)用程序的啟動(dòng)Activity的nameString pkgName = reInfo.activityInfo.packageName; // 獲得應(yīng)用程序的包名String appLabel = (String) reInfo.loadLabel(pm); // 獲得應(yīng)用程序的LabelDrawable icon = reInfo.loadIcon(pm); // 獲得應(yīng)用程序圖標(biāo)// 為應(yīng)用程序的啟動(dòng)Activity 準(zhǔn)備IntentIntent launchIntent = new Intent();launchIntent.setComponent(new ComponentName(pkgName,activityName));// 創(chuàng)建一個(gè)AppInfo對(duì)象,并賦值A(chǔ)ppInfo appInfo = new AppInfo();appInfo.setAppLabel(appLabel);appInfo.setPkgName(pkgName);appInfo.setAppIcon(icon);appInfo.setIntent(launchIntent);mlistAppInfo.add(appInfo); // 添加至列表中System.out.println(appLabel + " activityName---" + activityName+ " pkgName---" + pkgName);}}} }

    ?好了,第一個(gè)Demo完成 。。?

    ?

    ?Demo 2:

    ?????? ?demo2在布局、適配器方面和Demo1一樣。只是利用了getInstalledApplications()方法,繼而通過ApplicationInfo.flags來挑選

    ? 我們希望的ApplicationInfo對(duì)象。

    ?????? 圖:

    ????????????? ?????????

    ?

    ?過濾應(yīng)用程序如下:

    [java] view plaincopyprint?
  • package?com.qiner.appinfo;??
  • ??
  • import?java.util.ArrayList;??
  • import?java.util.Collections;??
  • import?java.util.List;??
  • ??
  • import?com.qiner.appinfo.R;??
  • ??
  • import?android.app.Activity;??
  • import?android.app.Application;??
  • import?android.content.pm.ApplicationInfo;??
  • import?android.content.pm.PackageManager;??
  • import?android.os.Bundle;??
  • import?android.view.View;??
  • import?android.view.View.OnClickListener;??
  • import?android.widget.Button;??
  • import?android.widget.ListView;??
  • ??
  • public?class?MainActivity?extends?Activity??{??
  • ??
  • ????public?static?final?int?FILTER_ALL_APP?=?0;?//?所有應(yīng)用程序??
  • ????public?static?final?int?FILTER_SYSTEM_APP?=?1;?//?系統(tǒng)程序??
  • ????public?static?final?int?FILTER_THIRD_APP?=?2;?//?第三方應(yīng)用程序??
  • ????public?static?final?int?FILTER_SDCARD_APP?=?3;?//?安裝在SDCard的應(yīng)用程序??
  • ??
  • ????private?ListView?listview?=?null;??
  • ??
  • ????private?PackageManager?pm;??
  • ????private?int?filter?=?FILTER_ALL_APP;???
  • ????private?List<AppInfo>?mlistAppInfo?;??
  • ????private?BrowseApplicationInfoAdapter?browseAppAdapter?=?null?;??
  • ????/**?Called?when?the?activity?is?first?created.?*/??
  • ????@Override??
  • ????public?void?onCreate(Bundle?savedInstanceState)?{??
  • ????????super.onCreate(savedInstanceState);??
  • ????????setContentView(R.layout.browse_app_list);??
  • ????????listview?=?(ListView)?findViewById(R.id.listviewApp);??
  • ????????if(getIntent()!=null){??
  • ????????????filter?=?getIntent().getIntExtra("filter",?0)?;??
  • ????????}??
  • ????????mlistAppInfo?=?queryFilterAppInfo(filter);?//?查詢所有應(yīng)用程序信息??
  • ????????//?構(gòu)建適配器,并且注冊(cè)到listView??
  • ????????browseAppAdapter?=?new?BrowseApplicationInfoAdapter(this,?mlistAppInfo);??
  • ????????listview.setAdapter(browseAppAdapter);??
  • ????}??
  • ????//?根據(jù)查詢條件,查詢特定的ApplicationInfo??
  • ????private?List<AppInfo>?queryFilterAppInfo(int?filter)?{??
  • ????????pm?=?this.getPackageManager();??
  • ????????//?查詢所有已經(jīng)安裝的應(yīng)用程序??
  • ????????List<ApplicationInfo>?listAppcations?=?pm??
  • ????????????????.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);??
  • ????????Collections.sort(listAppcations,??
  • ????????????????new?ApplicationInfo.DisplayNameComparator(pm));//?排序??
  • ????????List<AppInfo>?appInfos?=?new?ArrayList<AppInfo>();?//?保存過濾查到的AppInfo??
  • ????????//?根據(jù)條件來過濾??
  • ????????switch?(filter)?{??
  • ????????case?FILTER_ALL_APP:?//?所有應(yīng)用程序??
  • ????????????appInfos.clear();??
  • ????????????for?(ApplicationInfo?app?:?listAppcations)?{??
  • ????????????????appInfos.add(getAppInfo(app));??
  • ????????????}??
  • ????????????return?appInfos;??
  • ????????case?FILTER_SYSTEM_APP:?//?系統(tǒng)程序??
  • ????????????appInfos.clear();??
  • ????????????for?(ApplicationInfo?app?:?listAppcations)?{??
  • ????????????????if?((app.flags?&?ApplicationInfo.FLAG_SYSTEM)?!=?0)?{??
  • ????????????????????appInfos.add(getAppInfo(app));??
  • ????????????????}??
  • ????????????}??
  • ????????????return?appInfos;??
  • ????????case?FILTER_THIRD_APP:?//?第三方應(yīng)用程序??
  • ????????????appInfos.clear();??
  • ????????????for?(ApplicationInfo?app?:?listAppcations)?{??
  • ????????????????//非系統(tǒng)程序??
  • ????????????????if?((app.flags?&?ApplicationInfo.FLAG_SYSTEM)?<=?0)?{??
  • ????????????????????appInfos.add(getAppInfo(app));??
  • ????????????????}???
  • ????????????????//本來是系統(tǒng)程序,被用戶手動(dòng)更新后,該系統(tǒng)程序也成為第三方應(yīng)用程序了??
  • ????????????????else?if?((app.flags?&?ApplicationInfo.FLAG_UPDATED_SYSTEM_APP)?!=?0){??
  • ????????????????????appInfos.add(getAppInfo(app));??
  • ????????????????}??
  • ????????????}??
  • ????????????break;??
  • ????????case?FILTER_SDCARD_APP:?//?安裝在SDCard的應(yīng)用程序??
  • ????????????appInfos.clear();??
  • ????????????for?(ApplicationInfo?app?:?listAppcations)?{??
  • ????????????????if?((app.flags?&?ApplicationInfo.FLAG_EXTERNAL_STORAGE)?!=?0)?{??
  • ????????????????????appInfos.add(getAppInfo(app));??
  • ????????????????}??
  • ????????????}??
  • ????????????return?appInfos;??
  • ????????default:??
  • ????????????return?null;??
  • ????????}??
  • ????????return?appInfos;??
  • ????}??
  • ????//?構(gòu)造一個(gè)AppInfo對(duì)象?,并賦值??
  • ????private?AppInfo?getAppInfo(ApplicationInfo?app)?{??
  • ????????AppInfo?appInfo?=?new?AppInfo();??
  • ????????appInfo.setAppLabel((String)?app.loadLabel(pm));??
  • ????????appInfo.setAppIcon(app.loadIcon(pm));??
  • ????????appInfo.setPkgName(app.packageName);??
  • ????????return?appInfo;??
  • ????}??
  • }??
  • package com.qiner.appinfo;import java.util.ArrayList; import java.util.Collections; import java.util.List;import com.qiner.appinfo.R;import android.app.Activity; import android.app.Application; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ListView;public class MainActivity extends Activity {public static final int FILTER_ALL_APP = 0; // 所有應(yīng)用程序public static final int FILTER_SYSTEM_APP = 1; // 系統(tǒng)程序public static final int FILTER_THIRD_APP = 2; // 第三方應(yīng)用程序public static final int FILTER_SDCARD_APP = 3; // 安裝在SDCard的應(yīng)用程序private ListView listview = null;private PackageManager pm;private int filter = FILTER_ALL_APP; private List<AppInfo> mlistAppInfo ;private BrowseApplicationInfoAdapter browseAppAdapter = null ;/** Called when the activity is first created. */@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.browse_app_list);listview = (ListView) findViewById(R.id.listviewApp);if(getIntent()!=null){filter = getIntent().getIntExtra("filter", 0) ;}mlistAppInfo = queryFilterAppInfo(filter); // 查詢所有應(yīng)用程序信息// 構(gòu)建適配器,并且注冊(cè)到listViewbrowseAppAdapter = new BrowseApplicationInfoAdapter(this, mlistAppInfo);listview.setAdapter(browseAppAdapter);}// 根據(jù)查詢條件,查詢特定的ApplicationInfoprivate List<AppInfo> queryFilterAppInfo(int filter) {pm = this.getPackageManager();// 查詢所有已經(jīng)安裝的應(yīng)用程序List<ApplicationInfo> listAppcations = pm.getInstalledApplications(PackageManager.GET_UNINSTALLED_PACKAGES);Collections.sort(listAppcations,new ApplicationInfo.DisplayNameComparator(pm));// 排序List<AppInfo> appInfos = new ArrayList<AppInfo>(); // 保存過濾查到的AppInfo// 根據(jù)條件來過濾switch (filter) {case FILTER_ALL_APP: // 所有應(yīng)用程序appInfos.clear();for (ApplicationInfo app : listAppcations) {appInfos.add(getAppInfo(app));}return appInfos;case FILTER_SYSTEM_APP: // 系統(tǒng)程序appInfos.clear();for (ApplicationInfo app : listAppcations) {if ((app.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {appInfos.add(getAppInfo(app));}}return appInfos;case FILTER_THIRD_APP: // 第三方應(yīng)用程序appInfos.clear();for (ApplicationInfo app : listAppcations) {//非系統(tǒng)程序if ((app.flags & ApplicationInfo.FLAG_SYSTEM) <= 0) {appInfos.add(getAppInfo(app));} //本來是系統(tǒng)程序,被用戶手動(dòng)更新后,該系統(tǒng)程序也成為第三方應(yīng)用程序了else if ((app.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0){appInfos.add(getAppInfo(app));}}break;case FILTER_SDCARD_APP: // 安裝在SDCard的應(yīng)用程序appInfos.clear();for (ApplicationInfo app : listAppcations) {if ((app.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) != 0) {appInfos.add(getAppInfo(app));}}return appInfos;default:return null;}return appInfos;}// 構(gòu)造一個(gè)AppInfo對(duì)象 ,并賦值private AppInfo getAppInfo(ApplicationInfo app) {AppInfo appInfo = new AppInfo();appInfo.setAppLabel((String) app.loadLabel(pm));appInfo.setAppIcon(app.loadIcon(pm));appInfo.setPkgName(app.packageName);return appInfo;} }

    ????你可以在此基礎(chǔ)上,構(gòu)建更多豐富的應(yīng)用。比說說Settings模塊中的卸載安裝應(yīng)用程序等。?

    ?

    ?

    ??? 本節(jié)的源代碼已上傳,下載地址:http://download.csdn.net/detail/qinjuning/3775869

    總結(jié)

    以上是生活随笔為你收集整理的Android中获取应用程序(包)的信息-----PackageManager的使用(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    www.日本色 | 国产高清视频在线播放一区 | 国产精品久久久久久久午夜 | 精品免费观看 | 五月开心综合 | 国产无套精品久久久久久 | 麻豆高清免费国产一区 | 亚洲在线成人精品 | 久久激情综合 | 一区二区三区精品在线 | 久久精选 | 视频在线观看入口黄最新永久免费国产 | 日韩电影一区二区三区在线观看 | 色www.| www婷婷| 国产免费久久av | 欧美ⅹxxxxxx | 一区二区 不卡 | 深夜免费福利在线 | 高清av中文在线字幕观看1 | 国产尤物在线视频 | 国产美女视频免费 | 免费91在线观看 | av在线小说 | 日韩av电影手机在线观看 | 人人爱爱| 天天看天天干天天操 | 久久不卡免费视频 | 一区二区欧美在线观看 | 国产精品久久电影观看 | 精品国模一区二区 | 91福利区一区二区三区 | 中文字幕色在线视频 | 久久99亚洲精品久久久久 | 亚洲精品午夜久久久 | 在线观看中文字幕亚洲 | 高清精品在线 | 久久精品久久久久电影 | www.婷婷com| 正在播放一区二区 | 亚洲视频中文 | 欧美日韩99| av在线免费不卡 | 永久免费观看视频 | 欧美一进一出抽搐大尺度视频 | 日韩无在线 | 欧美性色黄 | 国产91在| 久久五月婷婷综合 | 亚州精品在线视频 | 五月天天av | 超碰人在线 | 日韩一区二区三区免费视频 | 精品久久久久久久久久 | 激情av综合| 在线a视频 | 免费观看一级 | 69夜色精品国产69乱 | 人人爽人人插 | 国产视频丨精品|在线观看 国产精品久久久久久久久久久久午夜 | 欧美精品乱码久久久久 | 日韩手机视频 | 国产精品久久久久久69 | 91激情视频在线播放 | 久草在线免费播放 | 九九久久精品 | 免费观看性生活大片 | 日韩欧美高清 | 丁香婷婷深情五月亚洲 | 一级黄色片在线 | 九九在线播放 | 在线观看免费成人 | 亚洲理论影院 | 99久热在线精品视频观看 | 高清美女视频 | 超碰在线中文字幕 | 激情av在线资源 | 一级α片免费看 | 亚洲激情视频在线观看 | 午夜精品一二区 | 国产成人精品aaa | 久久精品视频网址 | 免费看一及片 | 草在线 | 日本黄色免费在线 | 探花视频免费观看高清视频 | 日韩视频1 | 免费一级片久久 | 97香蕉超级碰碰久久免费软件 | 99久久99久久| 免费网站污 | 国产黄色av| 91av原创 | 二区视频在线观看 | 亚洲理论在线 | 成人在线视频网 | 日韩狠狠操| 国产一区二区三区黄 | 久久久久亚洲精品中文字幕 | 欧美一区二区三区特黄 | 日本三级中文字幕在线观看 | 国产91av视频在线观看 | 一区二区三区av在线 | 狠狠色噜噜狠狠狠狠2021天天 | 91激情| 久久免费观看少妇a级毛片 久久久久成人免费 | 日韩在线播放视频 | 色夜视频 | 国产精品成人一区 | 精品久久久久久久久久久久久 | 欧美黄色高清 | 91免费版在线 | 久久精品精品电影网 | 不卡精品| 午夜精品久久久久久久99无限制 | 免费看黄色毛片 | 99久久精品国产一区二区成人 | 久久99精品波多结衣一区 | 久久精品一区二区三区国产主播 | 欧美色噜噜 | 中文字幕中文字幕 | 日韩一级电影在线观看 | 可以免费看av| 欧美日本中文字幕 | 欧美成人按摩 | 91九色在线观看视频 | 中文字幕高清视频 | av一区在线播放 | 91麻豆高清视频 | 一区二区三区在线观看免费视频 | 黄色一级网 | 国产一级性生活视频 | 国产一区二区三区午夜 | 丁香网五月天 | 爱爱av在线 | 手机av电影在线观看 | 欧美极品一区二区三区 | 久久久精品欧美一区二区免费 | 激情av综合 | 精品日韩中文字幕 | 亚洲精品午夜久久久久久久 | 午夜久久久久久久 | 中文字幕有码在线观看 | 日韩性片 | 免费男女羞羞的视频网站中文字幕 | www久草| 久久久免费av | 美女免费视频观看网站 | 亚洲一区二区黄色 | 成年人网站免费观看 | 麻豆视频免费看 | 精品久久九九 | 天天摸天天干天天操天天射 | av在线播放国产 | 天天干,夜夜爽 | 国内视频一区二区 | av在线a| 国产一二区视频 | 国产一区二区三区免费观看视频 | 亚洲精品国产精品国产 | 国产精品 9999 | 精品视频123区在线观看 | 久久人人干 | 色婷婷狠狠五月综合天色拍 | 91爱看片 | 狠狠色丁香婷婷 | 婷婷国产在线观看 | 正在播放 国产精品 | 狠狠色丁香婷婷综合视频 | 91在线国内视频 | 开心色插| 精品黄色在线观看 | 又色又爽又黄 | 有码视频在线观看 | 欧美日韩亚洲在线观看 | 人人射人人| 在线天堂亚洲 | 国内精品久久久久久久久久 | 日韩成人精品一区二区三区 | 日韩一区二区久久 | 国产色拍拍拍拍在线精品 | 一区二区激情视频 | av不卡中文字幕 | 九九99靖品 | 蜜臀av网站 | 亚洲高清av在线 | 天天插天天狠天天透 | 91精品啪在线观看国产线免费 | 成人免费看视频 | 亚洲伊人第一页 | 中文在线字幕观看电影 | 四虎影视www | 久色网 | 午夜黄色大片 | 欧美日本一区 | 国产精品美女毛片真酒店 | 精品免费视频 | 精品99免费视频 | 91精品久久久久久综合乱菊 | 亚洲japanese制服美女 | 久久国产精品成人免费浪潮 | 久久久久亚洲精品男人的天堂 | 久久中文精品视频 | 操综合| 天天干,天天干 | www色com | 欧美日本不卡高清 | 久久精品中文字幕免费mv | 黄色av网站在线观看免费 | 亚洲一区二区三区毛片 | 91av观看| 中文av网 | 五月婷婷激情综合 | 久久久天堂 | 91亚色视频在线观看 | 亚洲精品在线播放视频 | 日韩av午夜在线观看 | a视频免费在线观看 | 亚洲成av人电影 | 在线免费观看国产黄色 | 人人爽人人插 | 亚洲精品资源 | 国产色视频网站 | 成人免费共享视频 | 亚洲91中文字幕无线码三区 | 成人综合日日夜夜 | 欧美一区二区免费在线观看 | 国产午夜小视频 | 久久视频这里有精品 | 四虎永久视频 | 天天色天天操综合网 | 亚洲精品综合欧美二区变态 | 91视频中文字幕 | 亚洲电影自拍 | 天天人人综合 | 久久久精品欧美一区二区免费 | 亚洲精品小区久久久久久 | 亚av在线| 中文字幕一区二区三区久久 | 久草电影在线观看 | 黄色片网站大全 | 爱色av.com| 日日夜夜精品视频天天综合网 | 国产精品嫩草55av | 国产色视频一区二区三区qq号 | 91亚洲综合| 欧美贵妇性狂欢 | 成+人+色综合| 麻豆视频免费入口 | 久久精品系列 | 国产成人久久精品一区二区三区 | 久久久九九 | 亚洲电影一级黄 | 亚洲精品九九 | av成人在线播放 | 四虎成人精品永久免费av | 天天干婷婷 | 午夜99| 日韩,中文字幕 | 日韩不卡高清 | 美女免费视频一区 | 蜜臀av性久久久久蜜臀aⅴ流畅 | 九九视频在线观看视频6 | 国产经典av | 亚洲天堂va | 国产一区久久久 | 日韩在线高清 | 国内精品视频久久 | 免费日韩一级片 | 天天操天天色综合 | 国产专区欧美专区 | 亚洲尺码电影av久久 | 亚洲一区二区天堂 | 国产在线不卡一区 | 精品毛片在线 | 日本在线免费看 | bbw av | 国产又粗又猛又黄视频 | 亚洲精品一区二区在线观看 | 91一区一区三区 | 亚洲蜜桃av | 欧美一区二区三区在线视频观看 | 一区二区视频免费在线观看 | 超碰在线色 | 国产91成人在在线播放 | 亚洲免费观看视频 | 视频国产在线 | 亚洲黄色高清 | 国产亚洲人 | 国产精品一区二区三区免费看 | 青青河边草免费观看 | 97超碰人人模人人人爽人人爱 | 久久免费视频播放 | 深夜视频久久 | 亚洲精品大片www | 久久99深爱久久99精品 | 精品视频123区在线观看 | 91成人网在线播放 | 91在线视频播放 | 亚洲精品在线观看中文字幕 | 精品人人人 | 亚洲成人黄色av | 麻豆精品视频在线 | 色婷婷综合久久久久中文字幕1 | 欧美日韩99 | 日韩成人高清在线 | 亚洲精品www久久久久久 | 日韩网站在线 | 日韩中文字幕免费看 | 日韩欧美国产精品 | 免费亚洲婷婷 | 狠狠干狠狠插 | 天堂在线免费视频 | 国产免费高清视频 | 亚洲精品在线二区 | 亚洲激情在线播放 | 丁香花在线视频观看免费 | 日韩欧美精品在线 | 欧美一级电影在线观看 | 久久影视一区 | 亚洲黄色app | 国产精品久久久久影视 | 亚洲人成精品久久久久 | 婷婷激情av | 99精品在线看 | 久久伊人操 | 高清免费av在线 | 狠色在线 | 久久艹国产视频 | 国产精品永久免费在线 | 中文字幕资源网 国产 | 亚洲综合激情网 | 99r精品视频在线观看 | 亚洲一区二区黄色 | 亚洲三级性片 | 成年人网站免费观看 | 玖玖爱在线观看 | av不卡免费看| 九九免费在线看完整版 | 久久久久久久久久久久久影院 | 黄色www | 午夜国产在线观看 | 午夜视频黄 | 99在线视频播放 | 久久久久免费精品视频 | 国产剧情一区 | 六月天综合网 | 免费观看国产视频 | 1024久久 | 日韩系列在线 | 久久久久久久99 | 国内精品久久久 | 久草网站 | 亚洲1区 在线 | 99爱视频在线观看 | 韩国av免费观看 | 国产精品成人一区 | 欧美一级视频一区 | 97色在线观看免费视频 | 国产最新福利 | 在线免费观看视频一区二区三区 | 91av视屏| 激情综合国产 | av一本久道久久波多野结衣 | 免费看的国产视频网站 | 在线亚洲人成电影网站色www | 国产在线精品观看 | 欧美精品首页 | 婷婷国产视频 | 欧美日韩免费观看一区=区三区 | 成人黄色资源 | 99在线视频免费观看 | 日本在线精品视频 | 色噜噜日韩精品欧美一区二区 | 九九九九九九精品 | 中文字幕在线观看免费高清完整版 | 天天干,天天干 | 欧美一区在线观看视频 | 中文字幕 第二区 | www.av免费| 久久人人97超碰国产公开结果 | 午夜视频在线观看一区二区 | 激情五月色播五月 | 亚洲资源视频 | 亚洲精品国偷自产在线99热 | 欧美精品久久久久久久久久丰满 | 精品久久久久久久久久国产 | 久久免费毛片视频 | 中国精品少妇 | 麻豆传媒在线免费看 | 国产一区在线免费观看 | 一区二区三区在线视频111 | 天天射天天射天天射 | 99色人| 天天干人人 | 男女拍拍免费视频 | 日日爽日日操 | 久要激情网| 婷婷综合导航 | 成年人看片网站 | 国产视频一区在线 | 美女网站在线免费观看 | 国产色爽 | 日韩精品视频免费在线观看 | 免费看污污视频的网站 | 成人av免费网站 | 超碰在线观看97 | 日韩欧美在线视频一区二区 | 久久久久电影 | 在线免费观看黄色小说 | 国产精品一区二区白浆 | 国产精品久久久久久五月尺 | 欧美激情视频一区二区三区 | 超碰成人免费电影 | 最近更新的中文字幕 | 国产精品a成v人在线播放 | 色干综合| 中文字幕色婷婷在线视频 | 永久免费毛片 | 亚洲视频aaa | 日韩免费av在线 | 91九色porn在线资源 | 玖玖玖精品 | 日本三级香港三级人妇99 | 久久久久久久久久久久电影 | 亚洲欧美日韩在线看 | 亚洲天堂精品视频在线观看 | 成人av片免费看 | 久久国产影院 | 国产一区二区三区免费在线 | 超碰在线人人艹 | 日日操网 | 欧美精品中文字幕亚洲专区 | 九九免费在线看完整版 | bbbb操bbbb| 国产精品久久久久久久久久久久冷 | 亚洲天堂网在线播放 | 开心婷婷色 | 日韩午夜在线播放 | 精品一二三四五区 | 亚洲国产小视频在线观看 | 欧美大码xxxx | 久久精品91久久久久久再现 | 91九色国产视频 | 69视频国产 | 色视频网站免费观看 | 在线亚洲小视频 | 色五婷婷 | 亚洲精品字幕在线观看 | 久久99久久精品 | 国产精品毛片一区视频 | 性色av一区二区 | 日韩精品一区二区三区免费视频观看 | 久久久久国产精品厨房 | www.com.日本一级 | 18女毛片| 天天曰视频 | 日日爱网站 | 在线v片| 开心激情五月网 | 麻豆免费在线播放 | 手机在线免费av | 91福利影院在线观看 | 国产精品片| 久草影视在线观看 | 日日操狠狠干 | 久草视频播放 | 中文字幕免 | 亚洲狠狠婷婷综合久久久 | 亚洲精品中文字幕在线 | 久久精品视 | 六月激情网 | 久草青青在线观看 | 成人av电影网址 | 国产精品久久久一区二区三区网站 | 精品久久影院 | 最近中文字幕第一页 | 色噜噜在线观看 | 婷婷播播网 | 天堂av最新网址 | 久久伦理 | 亚洲欧美视频在线 | 在线91视频| 日韩乱码中文字幕 | 久久久久久久久影院 | 夜夜干天天操 | 麻豆一精品传二传媒短视频 | 97色噜噜| 欧美精品亚洲二区 | 国产亚洲午夜高清国产拍精品 | 久久免费精品国产 | 在线免费观看一区二区三区 | 婷婷五月在线视频 | 五月婷婷.com | 日韩18p| 中文字幕高清免费日韩视频在线 | 99在线观看免费视频精品观看 | 国产一区国产二区在线观看 | 国产精品白丝av | 久久狠狠亚洲综合 | 在线99| 国产麻豆视频网站 | 亚洲永久在线 | 青春草视频在线播放 | 久久久免费网站 | 久久亚洲福利 | 97超碰在线久草超碰在线观看 | 欧美一区二区三区在线 | 国产精品一码二码三码在线 | 国产精品午夜在线 | 久久66热这里只有精品 | 天海冀一区二区三区 | 亚洲第一区在线播放 | 国产精品私人影院 | 久久99热这里只有精品 | 美女久久精品 | 中文字幕在线播放视频 | 欧美伦理电影一区二区 | 西西44人体做爰大胆视频 | 91视频麻豆| 国产精品videossex国产高清 | 91三级在线观看 | 久草成人在线 | 日韩一区二区三免费高清在线观看 | 国产成人精品不卡 | 久久久首页 | 久久色视频 | 婷婷丁香九月 | 欧美一区在线观看视频 | 缴情综合网五月天 | 亚洲成av人片在线观看无 | av免费网| 成人免费视频网站 | 在线欧美a| 国产精品理论在线观看 | 在线观看你懂的网站 | 日韩资源在线观看 | 欧美午夜激情网 | 贫乳av女优大全 | 亚洲三级黄色 | 91一区二区三区在线观看 | 国产精品久久久99 | 久久国产精品电影 | 一级久久精品 | 久久精品国产成人精品 | 国产九色在线播放九色 | 91麻豆看国产在线紧急地址 | 黄色免费视频在线观看 | 欧美精品亚洲精品日韩精品 | 国产一区视频在线观看免费 | av成人在线网站 | 久久精品人人做人人综合老师 | 波多野结衣在线播放视频 | 手机在线日韩视频 | 国产精品毛片久久久久久 | 91av精品| 91爱爱电影 | 热热热热热色 | 天天搞天天 | 特级西西444www大精品视频免费看 | 日韩欧美不卡 | 麻豆影音先锋 | 精品久久亚洲 | 91香蕉亚洲精品 | 三上悠亚一区二区在线观看 | 国产激情电影综合在线看 | 欧美人人 | 日韩精品一区二区三区第95 | 久久国产免 | 国产自产高清不卡 | 亚洲视频免费在线观看 | 精品女同一区二区三区在线观看 | 激情网在线视频 | 91禁在线观看 | 欧洲精品一区二区 | 97视频在线免费 | 91色一区二区三区 | 国产在线高清精品 | 五月天高清欧美mv | 丁香婷婷基地 | 国产成人精品亚洲日本在线观看 | 久久深夜| 成人av免费在线观看 | 国产精品久久久久久久午夜片 | 免费裸体视频网 | 欧美精品三级 | 视频在线观看91 | 亚洲精品久久久久久久不卡四虎 | 99色在线播放 | 欧美xxxxx在线视频 | 伊人伊成久久人综合网站 | av免费在线观看网站 | 黄色片毛片 | 国产精品久久久久高潮 | 国产福利91精品一区 | 最近高清中文字幕 | 人人看看人人 | 成 人 黄 色 视频 免费观看 | 韩国精品在线 | 在线精品视频免费播放 | 国产a免费 | 成人一区二区三区在线观看 | 国产专区在线视频 | 在线观看岛国 | 欧美三级在线播放 | 操夜夜操 | 亚洲精品视频免费在线 | 久久久国产影院 | 草久在线视频 | 精品国产91亚洲一区二区三区www | 国产性xxxx| 久久a免费视频 | 亚洲综合欧美精品电影 | 欧美一级片免费观看 | 亚洲一级特黄 | 亚洲精品国产精品乱码在线观看 | 2021av在线 | 日本韩国欧美在线观看 | 亚洲人人精品 | 91成人在线免费观看 | 6080yy精品一区二区三区 | 国产高清视频在线播放一区 | 午夜婷婷在线观看 | 去看片 | 日本大片免费观看在线 | 亚洲日本va午夜在线电影 | 日韩免费二区 | 午夜成人免费电影 | av888av.com| 欧美吞精| 在线国产欧美 | 久草精品视频 | 99在线热播精品免费99热 | 日韩精品一区二区三区三炮视频 | 2022久久国产露脸精品国产 | 精品主播网红福利资源观看 | 久久视频精品在线观看 | 国产亚洲精品综合一区91 | 久久综合色天天久久综合图片 | 欧美ⅹxxxxxx | 国产成人av综合色 | 久免费| 久久精品女人毛片国产 | 久久伦理影院 | 国产一区二区三精品久久久无广告 | 久草视频在线资源站 | www.午夜视频 | 黄色软件在线观看免费 | 黄色一二级片 | 午夜精品福利影院 | 亚洲日本中文字幕在线观看 | 亚洲激情在线视频 | 免费看一级黄色大全 | 国产免费不卡av | 久久久久国产一区二区 | 日韩欧美高清 | 免费精品在线 | 91在线免费看片 | 欧美精品久久99 | 国产精品久久久久久久久久ktv | 综合色综合色 | 色婷婷一区 | 色综合久久久久综合体桃花网 | 亚洲第一区在线播放 | 日韩xxxbbb| 中国一级片在线播放 | 九九精品在线观看 | 精品国产_亚洲人成在线 | 久久天| 97视频人人澡人人爽 | 国产亲近乱来精品 | 国产美女久久久 | 天天操网址| 国产精品美女久久久免费 | 日韩国产欧美在线视频 | 中文字幕欧美日韩va免费视频 | 免费在线成人av | 久久综合九色综合97_ 久久久 | 国产精品字幕 | 在线 影视 一区 | 国产色网站 | 欧美精品久久久久久久免费 | 免费国产一区二区 | 国产精品99蜜臀久久不卡二区 | 888av| 91成人破解版 | 99精品国产福利在线观看免费 | 奇米影视999| 久久婷婷综合激情 | 天天爱综合 | 黄色av网站在线免费观看 | 国产在线欧美在线 | 久久久久久高潮国产精品视 | 天天色天天综合 | 色欧美成人精品a∨在线观看 | 久久av高清 | 高清视频一区 | 久草在线视频免费资源观看 | 500部大龄熟乱视频 欧美日本三级 | 视频99爱 | 国产精品久久久久久一区二区 | 国产又粗又猛又爽又黄的视频先 | 久久色亚洲 | 中文字幕乱码电影 | 日韩毛片精品 | 亚洲欧美日韩在线一区二区 | 在线观看视频在线观看 | 亚洲在线成人精品 | 国产高清视频在线播放 | 午夜天天操| 精品国产欧美一区二区 | 国产成人香蕉 | 2024国产精品视频 | 九九视频在线 | 99av在线视频 | 成人av在线影院 | 成人高清在线观看 | 国产精品欧美激情在线观看 | 亚洲精品免费视频 | 91精品综合在线观看 | 狠狠黄 | 91探花在线 | 91成人免费观看视频 | 黄色a一级视频 | 免费碰碰 | 精品一区二区免费在线观看 | 日本久久精品 | 99久久久久免费精品国产 | 亚洲一级黄色片 | 欧美色图30p| 女人18片毛片90分钟 | 国产精品一区二区在线播放 | 伊人婷婷色 | 人人干网 | 国产中文字幕国产 | 欧美日韩在线电影 | 四虎国产精品免费观看视频优播 | 亚洲精品永久免费视频 | www激情com| 天天射天天射天天射 | 日韩专区中文字幕 | 天堂av网在线 | 欧美一区二区三区不卡 | 亚洲最新在线 | 不卡的av在线播放 | 日韩欧美精选 | 五月婷婷综合在线观看 | 99精品黄色片免费大全 | 96精品视频 | 黄色www在线观看 | 91高清免费| 中文字幕视频观看 | 超碰日韩在线 | 欧美精品久久久久a | 天天超碰| 天堂素人在线 | 久久精品久久久久电影 | 最新国产在线观看 | 欧美福利片在线观看 | 黄色国产在线 | 中文字幕亚洲字幕 | 色综合五月 | www.五月天婷婷 | 国产成人高清 | 日韩一区二区免费播放 | 一区二区三区韩国免费中文网站 | 久久五月天色综合 | 欧美日韩国产页 | 人人插人人艹 | 精品欧美一区二区精品久久 | 久久99精品国产 | 成人午夜影视 | 99视频一区二区 | 日韩 在线观看 | 日韩中文在线字幕 | 免费看的黄色网 | 91一区在线观看 | 东方av在线免费观看 | 91成人在线免费观看 | 伊人久久婷婷 | 国产小视频在线免费观看 | 亚洲国产成人高清精品 | 国内少妇自拍视频一区 | 在线成人一区二区 | 欧美一级特黄高清视频 | 国产91综合一区在线观看 | av九九九| 久久爱992xxoo | 一区二区三区四区精品视频 | 97超碰在线资源 | 国产精品久久久久免费观看 | 在线观看国产www | 麻豆国产视频 | 久久国色夜色精品国产 | 免费高清av在线看 | 国产高h视频 | 99视频精品免费观看, | 五月开心网 | 亚洲精品成人免费 | 久久成年人网站 | 亚洲精品视频在线观看免费视频 | 青青河边草观看完整版高清 | 黄色小网站在线 | 国产精品视频app | 在线免费国产 | 色综合久久五月天 | 欧美一区免费在线观看 | av手机版 | 月下香电影 | 日韩成人精品 | 日韩国产精品一区 | 91精品区| 日韩一区二区三区免费视频 | 四虎免费在线观看 | 国产精品久久久久久久久久久久午夜 | 亚洲国产精品va在线 | 亚洲专区欧美专区 | 成年人视频在线观看免费 | 精品国产资源 | 国产亚洲成av人片在线观看桃 | 免费av福利 | 91精品国产91久久久久 | 顶级欧美色妇4khd | 午夜av电影院 | www.狠狠插.com | av网站在线观看免费 | 又黄又爽的视频在线观看网站 | 在线免费性生活片 | 国产精品国产亚洲精品看不卡15 | 在线视频一二区 | 久久精品国产亚洲 | 亚洲最大的av网站 | 欧美亚洲久久 | 欧美一性一交一乱 | 日本精品一区二区三区在线观看 | 99视频精品 | 免费色视频在线 | 三级小视频在线观看 | 黄色a在线 | av福利网址导航大全 | 91tv国产成人福利 | 一级片视频免费观看 | 97精品国自产拍在线观看 | 一级淫片a| 高清不卡一区二区三区 | 一区二区中文字幕在线播放 | 亚洲狠狠婷婷 | 狠狠干天天色 | 国产男女无遮挡猛进猛出在线观看 | 午夜.dj高清免费观看视频 | 亚洲天堂社区 | 丁香电影小说免费视频观看 | 亚洲理论电影网 | 伊人成人激情 | 久久精品视频播放 | 日本久久久久久 | 亚洲欧美国产精品久久久久 | 国产精品美 | 在线观看视频在线 | 日本xxxx裸体xxxx17| 成人网大片 | 日韩在线视频二区 | 91黄视频在线 | 国产在线不卡一区 | 亚洲精品午夜国产va久久成人 | 日韩电影一区二区三区在线观看 | 国产成人久久精品一区二区三区 | 久久精品视频在线播放 | 色a在线观看 | 日韩在线观看av | 久久久久免费 | 99精品视频在线观看视频 | 视频在线99 | 国产成人精品av在线 | 久草在线视频免赞 | 亚洲 欧美 变态 国产 另类 | 欧美日韩精品久久久 | 日韩视频一二三区 | 五月综合色婷婷 | 国产日产精品一区二区三区四区的观看方式 | 特级a老妇做爰全过程 | 在线观看免费版高清版 | 午夜 久久 tv | 手机看片99| 免费人成在线观看网站 | 中文字幕在线观看视频一区 | 日韩久久午夜一级啪啪 | 欧美日韩成人一区 | 精品一区二区久久久久久久网站 | 青青草国产免费 | 中文字幕在线日 | 麻豆国产精品永久免费视频 | 久久综合久久久 | 91禁在线看 | 国产精品videossex国产高清 | 久久久久久久久久久影视 | 狠狠色丁香久久婷婷综合丁香 | 天天色天天操综合网 | 在线电影av| 成人av电影免费观看 | a极黄色片 | 精品久久国产一区 | 久久草草影视免费网 | 成人精品在线 | 中文字幕免费一区 | 深爱婷婷网 | 国产精品99免费看 | 久久公开视频 | 国产日韩欧美在线免费观看 | 国产视频精选在线 | 日韩精品久久久免费观看夜色 | 国产一级特黄毛片在线毛片 | 又色又爽又激情的59视频 | 色综合久久久久综合体 | 色婷婷欧美 | 欧美精品二 | 亚洲日韩精品欧美一区二区 | 91插插插免费视频 | 丁香花中文在线免费观看 | 麻豆久久久久久久 | av片免费播放 | 免费高清无人区完整版 | 午夜视频在线观看欧美 | 国产成人1区 | 久久天天躁夜夜躁狠狠躁2022 | 国产一级二级视频 | 日韩a级黄色 | 久久草在线视频国产 | 欧美综合在线观看 | 在线视频久久 | 人人射人人爽 | 99人成在线观看视频 | 麻花传媒mv免费观看 | 麻豆传媒视频在线免费观看 | 超碰夜夜| a黄色片 | 久久精品久久精品久久精品 | 亚洲精品在线观看免费 | 爱情影院aqdy鲁丝片二区 | 日韩黄色一级电影 | 天天干 天天摸 天天操 | 免费高清在线观看成人 | 91一区一区三区 | 黄在线免费观看 | 99热.com| 伊人久久国产精品 | 在线看片中文字幕 | 久久成人麻豆午夜电影 | 大荫蒂欧美视频另类xxxx | 成年人免费看的视频 | 日本久久久久久久久久 | 99av国产精品欲麻豆 | 久久不卡国产精品一区二区 | 午夜私人影院久久久久 | 国产精品久久久久毛片大屁完整版 | 免费看片网页 | 中文字幕在线观看视频网站 | 日韩一区二区三区免费视频 | 国产视频在线观看一区 | 日韩精品极品视频 | 亚洲精品456在线播放第一页 | 精品国产理论片 | 午夜影院一级片 | 久久久久国产精品视频 | 久久精品成人热国产成 | 天天操天天干天天干 | 狠狠狠色丁香综合久久天下网 | 欧美日韩在线看 | 日韩在线视频播放 | 成人午夜免费福利 | 久久免费视频播放 | 麻豆视频观看 | 亚洲九九影院 | 国产原创av在线 | 日韩精品视频免费在线观看 | 美女久久久久久久久久久 | 国内精品99| www日韩| 中文字幕999 | 在线中文字幕观看 | 国产成人不卡 | 久久情爱 | 人人干免费 | av在线免费播放 | 97人人精品| 五月婷婷丁香在线观看 | 久久精品香蕉 | 国产尤物视频在线 | 国产一级电影在线 | www夜夜操| 波多野结衣电影一区二区 | 九九热精品国产 | 91久久久久久久一区二区 | 久久综合亚洲鲁鲁五月久久 | 午夜精品久久久久久久久久久久久久 | 亚洲资源在线观看 | 人人爱爱人人 | 一区三区视频 |