欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调用系统的应用程序信息程序,查看应用程序信息 博客分类: android相关 Android

程序员文章站 2024-03-04 23:28:42
...
  有的时候调用系统的东西比我们自己定义布局美观的多,使用起来也方便,这次用到了查看应用程序信息,想自定义呢,想到调用系统的不更好么,顺便学习了一下intent,对他有了更深的了解。原来只知道使用,找一点代码,就那么写,从没思考过,原来真的思考一下,还真不怎么会举一反三了。
String apppack=data.get(arg2).get("pname").toString();
			 Intent intent = new Intent();  
			 final String appPkgName = "pkg";
			intent.setAction(Intent.ACTION_VIEW);  //要执行的动作
	        intent.setClassName(APP_DETAILS_PACKAGE_NAME,  //param 要调用程序所在的包名以及程序名
	                APP_DETAILS_CLASS_NAME);  
	        intent.putExtra(appPkgName, apppack);  //intent 传递的数据,这里对于2.2,的第一个参数为"pkg"
	        startActivity(intent);//2.1及之前的"com.android.settings.ApplicationPkgName";2.3接口

吸取这次的教训,以后要学会自己思考问题。
同样的,选择图片,可以转向图库选图,也可以自己规定路径,获取图片的其他的信息,主要是我们要查询的是什么。
 private List<Bitmap> getImageList() {
    	ContentResolver cr=getContentResolver();   
    	Uri selectedImage=MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    	String[] filePathColumn={"_data"};//要查询的列名
//    	MediaStore.Images.Media.query(cr, selectedImage, filePathColumn);
//    	Cursor cursor = cr.query(MediaStore.Images.Media.INTERNAL_CONTENT_URI, null, null, null, null); 
    	Cursor cursor = MediaStore.Images.Media.query(cr, selectedImage, null);
    	startManagingCursor(cursor);
    	System.out.println("cursor.getColumnCount======"+cursor.getColumnCount());
    	System.out.println("cursor.getCount======"+cursor.getCount());
    	System.out.println(""+cursor.getColumnIndex(filePathColumn[0]));
    	for(int i=0;i<cursor.getColumnCount();i++){
    		System.out.println("column"+i+"           "+cursor.getColumnName(i));
    	}
    	while(cursor.moveToNext()){
    		String bitmapPath=cursor.getString(1);
    		Bitmap bitmap=BitmapFactory.decodeFile(bitmapPath);
    		imageList.add(bitmap);
    	}
		return imageList;
    	
    }

获取一个图片列表。
相关标签: Android