android获取手机的所有程序和widget的包名和启动类名

获取 widget可以 AppWidgetManager 来获取

成都创新互联是一家专注于做网站、成都网站建设与策划设计,右玉网站建设哪家好?成都创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:右玉等地区。右玉做网站价格咨询:13518219792

List<AppWidgetProviderInfo>
widget=AppWidgetManager.getInstance(Context(上下文)).getInstalledProviders();

得到所有AppWidgetProviderInfo

for (int i = 0; i < widget.size(); i++) {
        AppWidgetProviderInfo info=widget.get(i);
        String packname=info.provider.getPackageName();
        String classname=info.provider.getClassName();

        Log.e("-------packname", packname);
        Log.e("-------classname", classname);

}

获取手机里的所以程序的包名和启动类名 和widget类似.

            应用程序的启动类名,即在AndroidManifest.xml文件中<activity>中加了

             <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            的过滤条件来,指定那个类名是启动的第一个activity类

            所以我们去获取应用程序的包名和启动类名:

  

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


            AppIntent.addCategory(Intent.CATEGORY_LAUNCHER);

            
            List<ResolveInfo> resolveInfos = Context(上下文)
                    .getPackageManager().queryIntentActivities(AppIntent, 0);

            for (int i = 0; i < resolveInfos.size(); i++) {
                ResolveInfo resolveInfo = resolveInfos.get(i);
                String ClassName = resolveInfo.activityInfo.name;
                String packageName = resolveInfo.activityInfo.packageName;

                Log.e("-------packname", packageName);
                Log.e("-------classname", ClassName);}    

        这样就可以了..!

如果还不是很清楚,下面附上deom

网盘 http://pan.baidu.com/s/1sj4S5tV

网页名称:android获取手机的所有程序和widget的包名和启动类名
分享网址:https://www.cdcxhl.com/article0/goccio.html

成都网站建设公司_创新互联,为您提供云服务器定制开发营销型网站建设品牌网站设计App设计移动网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

小程序开发