读取launcher数据库数据

[java] view plaincopy

  1. import java.util.List;
  2. import android.content.ContentResolver;
  3. import android.content.Context;
  4. import android.content.pm.PackageInfo;
  5. import android.content.pm.PackageManager;
  6. import android.content.pm.ProviderInfo;
  7. import android.database.Cursor;
  8. import android.net.Uri;
  9. import android.util.Log;
  10. public class LauncherUtils {
  11. public static void readLauncherDB(Context context) {
  12. final ContentResolver cr = context.getContentResolver();
  13. String AUTHORITY = getAuthorityFromPermission(context,
  14. "com.android.launcher.permission.READ_SETTINGS");
  15. if (AUTHORITY == null) {
  16. AUTHORITY = getAuthorityFromPermission(context,
  17. "com.android.launcher.permission.WRITE_SETTINGS");
  18. }
  19. if (AUTHORITY == null) {
  20. Log.e("", "no authority");
  21. return;
  22. }
  23. Log.e("", "authority:" + AUTHORITY);
  24. Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY
  25. + "/favorites?notify=true");
  26. Cursor c = cr.query(CONTENT_URI, null, null, null, null);
  27. if (c != null) {
  28. while (c.moveToNext()) {
  29. int id = c.getInt(c.getColumnIndex("_id"));
  30. // 快捷方式的名称
  31. String title = c.getString(c.getColumnIndex("title"));
  32. // 快捷方式启动的对象
  33. String intent = c.getString(c.getColumnIndex("intent"));
  34. int container = c.getInt(c.getColumnIndex("container"));
  35. // 快捷方式在哪个屏幕,默认是1
  36. int screen = c.getInt(c.getColumnIndex("screen"));
  37. // 快捷方式的位置
  38. int cellX = c.getInt(c.getColumnIndex("cellX"));
  39. int cellY = c.getInt(c.getColumnIndex("cellY"));
  40. int spanX = c.getInt(c.getColumnIndex("spanX"));
  41. int spanY = c.getInt(c.getColumnIndex("spanY"));
  42. int itemType = c.getInt(c.getColumnIndex("itemType"));
  43. int appWidgetId = c.getInt(c.getColumnIndex("appWidgetId"));
  44. int isShortcut = c.getInt(c.getColumnIndex("isShortcut"));
  45. int iconType = c.getInt(c.getColumnIndex("iconType"));
  46. // 快捷方式的图标
  47. String iconPackage = c.getString(c
  48. .getColumnIndex("iconPackage"));
  49. // "iconResource"
  50. // "icon"
  51. // "uri"
  52. // "displayMode"
  53. int launchCount = c.getInt(c.getColumnIndex("launchCount"));
  54. // "sortMode"
  55. int itemFlags = c.getInt(c.getColumnIndex("itemFlags"));
  56. String log = "id=" + id + "|title=" + title + "|intent="
  57. + intent + "|container=" + container + "|screen="
  58. + screen + "|cell=[" + cellX + "," + cellY + "]|"
  59. + "span=[" + spanX + "," + spanY + "]|itemType="
  60. + itemType + "|appWidgetId=" + appWidgetId
  61. + "|isShortcut=" + isShortcut + "|iconType=" + iconType
  62. + "|iconPackage=" + iconPackage + "|launchCount="
  63. + launchCount + "|itemFlags=" + itemFlags;
  64. Log.e("", log);
  65. }
  66. }
  67. }
  68. /**
  69. * 获取authority
  70. * @param context
  71. * @param permission
  72. @return
  73. */
  74. static String getAuthorityFromPermission(Context context, String permission) {
  75. if (permission == null)
  76. return null;
  77. List<PackageInfo> packs = context.getPackageManager()
  78. .getInstalledPackages(PackageManager.GET_PROVIDERS);
  79. if (packs != null) {
  80. for (PackageInfo pack : packs) {
  81. ProviderInfo[] providers = pack.providers;
  82. if (providers != null) {
  83. for (ProviderInfo provider : providers) {
  84. if (permission.equals(provider.readPermission))
  85. return provider.authority;
  86. if (permission.equals(provider.writePermission))
  87. return provider.authority;
  88. }
  89. }
  90. }
  91. }
  92. return null;
  93. }
  94. }
时间: 2024-10-16 22:55:06

读取launcher数据库数据的相关文章

OPENDATASOURCE读取远程数据库数据中文乱码问题-sqlserver R2

insert into kraft_sync_Store(StoreName,StoreCode,Province,PrefectureCity,CountyCity,Region,Area,Unit,HQKA,KAName,StoreType,IsValid,ContactPerson,MobileTelephone,Telephone,Address,Latitude,Longitude,regiongroup,sfastoremanagername) Select CAST(storena

利用PHP实现登录与注册功能以及使用PHP读取mysql数据库——以表格形式显示数据

登录界面 <body><form action="login1.php" method="post"><div>用户名:<input type="text" name="uid" /></div><br /><div>密码:<input type="password" name="pwd" />

读取数据库数据,并将数据整合成3D饼图在jsp中显示

首先我将生成饼图的方法独立写成一个PieChar.java类,详细代码如下:(数据库需要自己建,如有需要的话) 1 import java.io.IOException; 2 import java.sql.SQLException; 3 import org.jfree.chart.ChartFactory; 4 import org.jfree.chart.JFreeChart; 5 import org.jfree.data.general.DefaultPieDataset; 6 7 p

从数据库里随机读取几条数据

从数据库里随机读取几条数据 Access: select top n * from table order by rnd(id)‘id为数据库的自动编号字段 Sql Server: select top n * from table order by newid() MySQL: SELECT * FROM table order by rand() limit  20; Oracle: select * from table order by dbms_random.value()

php实现数据库数据读取生成缓存文件

有些时候我们希望减少对数据库的 查询来提高程序的性能,因为这些数据不是经常变更的,而是会在很长一段时间内都不会变化,因此,我们每连接一次数据库,都会把相应的结果用文件的形式保存 起来.比如对于一个商城来说,我们的商品的数量可能会经常变,但是我们的商品类型以及商品的价格这些东西都会在很长的一段时间内不会变更,如果我们需要频 繁的查询它们的时候,就可以使用数据库缓存技术. 缓存的原因 第一点首先看我们普通情况下执行一条SQL查询的开销,我们先连接数据库,然后准备SQL查询,接下来发送查询信息,然后取

python读取数据库数据,读取出的中文乱码问题

最近遇到python读取数据库数据,读取出的中文乱码问题, 网络搜索的基本是: "1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8)2. MySQL数据库charset=utf-83. Python连接MySQL是加上参数 charset=utf84. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8)" 这些,一一尝试后仍未解决.去数据库查看了下,发现这个出现中文乱码的字段类型是varcha

Python 读取MySQL数据库表数据

环境 Python 3.6 ,Window 64bit 目的 从MySQL数据库读取目标表数据,并处理 代码 # -*- coding: utf-8 -*- import pandas as pd import pymysql ## 加上字符集参数,防止中文乱码 dbconn=pymysql.connect( host="**********", database="kimbo", user="kimbo_test", password=&quo

读取数据库数据填充到缓存的问题,及修复方案一则

业务简述: 为了提高站点性能,部署了一台Redis,把资源从SqlServer数据库中同步到Redis,站点由原来的读取数据库,变更为读取Redis,以利用Redis的高并发提升站点性能目的. 环境说明: 1.假设表名为softs, 记录的更新时间字段名为 updateTime: 2.不考虑数据库的DELETE操作,只考虑INSERT和UPDATE操作: 3.流程中所有时间,都以数据库时间为准,以避免不同服务器之间的时间误差,导致数据遗漏. 4.重要的前提条件:数据库执行INSERT和UPDAT

Java读取数据库数据生成柱状图

此案例是用swing显示数据的.需要引入jfreechart相关包,不同版本可能包不相同,本人用的是 此案例在ssi框架下会报错,不用框架就没问题. Java后台逻辑代码: public class BarChart { ChartPanel frame1; public BarChart() { CategoryDataset dataset = getDataSet(); JFreeChart chart = ChartFactory.createBarChart3D("水果",