android联系人支持的Mimetypes列表

时间:2015-04-06 15:58:06

标签: android database android-contacts

我正在准备一个联系人应用程序,我需要获取Android联系人支持的Mimetypes列表。 例如:某些设备支持SIP address和某些设备。 所以我想在支持时插入SIP地址,然后如何检查支持mimetype。 我在com.android.providers.contacts包中的android的联系人db中找到了mimetypes表。 我将如何访问contacts2.d b数据库中的mimetypes表。

请帮忙。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:-1)

如果你想检查设备是否支持mimetype - 这就是你要做的事情

Uri entityUri =
  Uri.withAppendedPath(
         ContentUris.withAppendedId(RawContacts.CONTENT_URI, rawContactId), Entity.CONTENT_DIRECTORY);

Cursor c =
  getContentResolver().query(
    entityUri,
    new String[] {
      RawContacts.SOURCE_ID, Entity.DATA_ID, Entity.MIMETYPE, Entity.DATA1 },
    null, null, null);

try {
     while (c.moveToNext()) {
         String sourceId = c.getString(0);
         if (!c.isNull(1)) {
             String mimeType = c.getString(2);
             String data = c.getString(3);
                PackageManager packageManager = context.getPackageManager();
                Intent testIntent = new Intent(Intent.ACTION_VIEW);
                testIntent.setType(mimeType );
                if (packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY).size() > 0) {
                      // do something - it is supported
                  } else {
                  return false;
                }
         }
     }
} finally {
     c.close();
}