Подтвердить что ты не робот

Android ContentProvider getType() называется когда и почему

Я помещаю журнал в метод getType(), который никогда не печатается. Я использую код образца Notepad. Пожалуйста, объясните 1-ю строку комментария к документу Java. Возврат null из getType() также работает нормально. Какова цель метода getType()?

    /**
 * This is called when a client calls {@link android.content.ContentResolver#getType(Uri)}.
 * Returns the MIME data type of the URI given as a parameter.
 * 
 * @param uri The URI whose MIME type is desired.
 * @return The MIME type of the URI.
 * @throws IllegalArgumentException if the incoming URI pattern is invalid.
 */
@Override
public String getType(Uri uri)
{
    Log.d("Suparna", "******getType()");
    /*switch(uriMatcher.match(uri))
    {
    // ---get all books---
    case BOOK_DETAILS:
        return Book.Book_Details.CONTENT_TYPE;
        // ---get a particular book---
    case BOOK_DETAILS_ID:
        return Book.Book_Details.CONTENT_ITEM_TYPE;
    default:
        throw new IllegalArgumentException("Unsupported URI: " + uri);
    }*/
    return null;
}
4b9b3361

Ответ 1

getType(Uri uri) обычно вызывается только после вызова ContentResolver#getType(Uri uri). Он используется приложениями (либо сторонними приложениями, если ваш ContentProvider был экспортирован, либо ваш собственный), чтобы получить тип MIME данного URL-адреса контента. Если ваше приложение не связано с типом данных MIME, это совершенно нормально, просто используйте метод return null.

Ответ 2

Этот метод getType ContentProvider используется, главным образом, когда вы разрешаете провайдеру контента взаимодействовать с другими сторонними приложениями. Этот тип MIME используется для поиска системы Android, с которой приложения могут ее обрабатывать.