2012-10-02 86 views
0

Android Uri.normaliseScheme()方法總是崩潰。 它甚至不會拋出異常。我已經嘗試了以下代碼的許多不同版本。我究竟做錯了什麼?Android Uri方法normalizeScheme導致崩潰

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線運行良好,我得到這個日誌消息:
表URI:內容://fake.company.app/TableName

+0

如果沒有拋出異常,你是什麼意思的「崩潰」 – Simon

+0

通過「崩潰」我的意思是,我跑在我的應用程序手機,並在它達到正常化的程度方案屏幕變黑。我必須等待幾秒鐘,然後Android會彈出一個對話框,提示「不幸的是,fake.company.app進程已停止。」它只有一個「OK」按鈕。我按下「確定」按鈕,並返回到Android主屏幕。 –

+0

添加異常的Logcat堆棧跟蹤 – tolgap

回答

0

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

String uriStr = "content://fake.company.app/TableName"; 
Uri tableUri = Uri.parse(uriStr.toLowerCase());