获取 widget可以 AppWidgetManager 来获取

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


更多相关文章

  1. Android中Context到底是什么以及用法
  2. android重新启动应用程序和重新启动系统
  3. Android(安卓)adb shell启动应用程序的方法
  4. Android程序窗体显示:requestWindowFeature()
  5. Android应用程序用真机调试步骤
  6. 【android】下载文件至本应用程序的file文件夹或者sdcard
  7. Android(安卓)如何保持屏幕长亮?
  8. 用PC应用程序通过USB读写Andriod里面的数据
  9. Android(安卓)SDK,ADT,API 版本的对应关系

随机推荐

  1. Android LayoutInflater的获取及inflate(
  2. android TextView控件属性列表
  3. android Q 显示系统(一) VSync
  4. Android应用程序的Java数据更新和UI同步
  5. Android特性
  6. Android build框架
  7. Android剪切板用法
  8. Android上的bug定位(troubleshooting)
  9. android studio module引用本地aar
  10. Android—— 4.2 Vold挂载管理_MountServ