0

Android Uri.normaliseScheme() 方法总是崩溃。它甚至不会抛出异常。我尝试了以下代码的许多不同版本。我究竟做错了什么?

Uri tableUri = Uri.parse("content://fake.company.app/TableName");
Log.d(TAG, "Table URI: "+tableUri);
try
{
    if (tableUri != null)
    {
        tableUri = tableUri.normalizeScheme();
    }
}
catch (Exception ex)
{
    Log.e(TAG, ex.getMessage());
    return false;
}
return true;

基本上我已经确定 normaliseScheme 是罪魁祸首(通过删除代码,一次一行)。当输入 normalizeScheme 时,我的应用程序崩溃。我什至没有在 LogCat 中获得任何信息。

如果我只保留前 2 行,它运行良好,我会收到以下日志消息:
Table URI: content://fake.company.app/TableName

4

1 回答 1

0

唯一似乎成功的事情是自己做这项工作,通过使用 String toLowerCase 方法:

String uriStr = "content://fake.company.app/TableName";
Uri tableUri = Uri.parse(uriStr.toLowerCase());
于 2012-10-02T12:27:35.803 回答