Android小知识get

Android运行时权限:

(1)在清单文件中加入权限声明

(2)借助ContextCompat.checkSelfPermission()方法,利用方法返回值与PackageManager.PERMINSSION_GRANTED 比较,相等表示已授权,不等未授权

  ( 3 ) 若没有授权,调用ActivityCompat.requestPermission()方法申请授权

数据源视图适配器加载逻辑顺序:

1.主线程onCreate初始化视图,

2.主线程onCreate初始化适配器,并将适配器与视图绑定,

3.子线程加载耗时数据初始化数据源,

4.子线程数据源更新后通知适配器更新数据,(appAdapter.notifyDataSetChanged();//刷新适配器)

5.主线程显示数据。

读取系统应用信息:

PackageManager pm = this.getPackageManager(); // 获得PackageManager对象

Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);

mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);

// 通过查询,获得所有ResolveInfo对象.

List<ResolveInfo> resolveInfos = pm

        .queryIntentActivities(mainIntent, PackageManager.MATCH_DEFAULT_ONLY);

    for (ResolveInfo reInfo : resolveInfos) {

        String activityName = reInfo.activityInfo.name; 
        // 获得该应用程序的启动Activity的name

        String pkgName = reInfo.activityInfo.packageName; 
        // 获得应用程序的包名

        String appLabel = (String) reInfo.loadLabel(pm); 
        // 获得应用程序的Label

        Drawable icon = reInfo.loadIcon(pm); 
        // 获得应用程序图标

    }

猜你喜欢

转载自blog.csdn.net/qq_34149526/article/details/82936193