调用系统的应用程序信息程序,查看应用程序信息 博客分类: 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; }
获取一个图片列表。
下一篇: Java实现分页的前台页面和后台代码