我想获得系统内所有安装的包,和相关的信息,用的是:PackageManager 的getInstalledPackages(。。)方法。但是代码可以获得包名,在获得具体的activityinfo的时候有问题,请大家帮我改下。我的代码是:(并没有设置 manifest 里边的 uses-permission)
public class StartOtherActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); getActivityName(this, " ");
} public static void getActivityName(Context context, String pkgname) {
String activityname = "";
PackageManager pm = context.getPackageManager();
// 得到所有应用的包信息
List<PackageInfo> list = pm
.getInstalledPackages(PackageManager.GET_ACTIVITIES); Log.v("list size", " " + list.size());
int length = list.size();
Log.d("pkg length", length + ""); for (int i = 0; i < length; i++) {
String name = list.get(i).packageName;
Log.d("pkg " + i, name);
ActivityInfo activityinfo = list.get(i).activities[0];// 得到入口activity
Log.v("activity name" , activityinfo.packageName);
activityname = activityinfo.name;
Log.d("activity " + i, activityname);
}
}}
public class StartOtherActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); getActivityName(this, " ");
} public static void getActivityName(Context context, String pkgname) {
String activityname = "";
PackageManager pm = context.getPackageManager();
// 得到所有应用的包信息
List<PackageInfo> list = pm
.getInstalledPackages(PackageManager.GET_ACTIVITIES); Log.v("list size", " " + list.size());
int length = list.size();
Log.d("pkg length", length + ""); for (int i = 0; i < length; i++) {
String name = list.get(i).packageName;
Log.d("pkg " + i, name);
ActivityInfo activityinfo = list.get(i).activities[0];// 得到入口activity
Log.v("activity name" , activityinfo.packageName);
activityname = activityinfo.name;
Log.d("activity " + i, activityname);
}
}}
解决方案 »
- java.lang.SecurityException: No active admin owned by uid 10034 for policy #3
- 紧急求救:android刷机的问题
- Notification中怎么传值给下一个Activity
- 怎么知道手机是否正在下载软件?
- MediaPlayer怎样换歌?
- 新手提问,希望大大们帮忙
- Android for eclipse plug in 不能下载
- android手机待机界面的手触屏幕实现左右滑滚是如何实现的?
- android 反射调用API中@hide的方法失败,请大神指教
- 如何直接访问腾讯信鸽推送的服务器
- 话说用ndk创建的可执行程序(不是库)在sd卡上怎么没权限?
- 包名和别的包名不一样,怎么在manifest.xml中注册
我要获得的是所有安装的程序,不是检查所有正在运行的activity或者service。
能不能看一下我的代码?
Since: API Level 1Array of all <activity> tags included under <application>, or null if there were none. This is only filled in if the flag GET_ACTIVITIES was set.
--有些package的activity是null,所以你读取list.get(i).activities[0]出错。