我正在准备一个联系人应用程序,我需要获取Android联系人支持的Mimetypes列表。
例如:某些设备支持SIP address
和某些设备。
所以我想在支持时插入SIP地址,然后如何检查支持mimetype。
我在com.android.providers.contacts
包中的android的联系人db中找到了mimetypes表。
我将如何访问contacts2.d
b数据库中的mimetypes表。
请帮忙。 谢谢你的帮助。
答案 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();
}