2016-02-26 97 views
0

首先,如果您能幫助我,我將非常感謝您。從Android上的文件加載.json文件時出現的問題

在我的項目中,我必須在應用程序中上傳文件.json,然後從瀏覽器中取出它。

我處理它從的Manifest.xml與意圖過濾器如下:

<intent-filter> 
     <action android:name="android.intent.action.VIEW" /> 
     <category android:name="android.intent.category.DEFAULT" /> 
     <data android:scheme="file" android:host="*" android:pathPattern=".*\\.json" android:mimeType="*/*" /> 
    </intent-filter> 

然後,從MainActivity.java,我構建File對象,並從創建的文件中的字符串結果:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Intent intent = getIntent(); 
     String action = intent.getAction(); 
     Uri uri = intent.getData(); 

     if (action != null){ 
      if (action.compareTo(Intent.ACTION_VIEW) == 0) { 
       String scheme = intent.getScheme(); 
       String path = intent.getDataString();     

       if (scheme.compareTo(ContentResolver.SCHEME_FILE) == 0) { 

        try { 
         InputStream inputStream = getContentResolver().openInputStream(uri); 
         System.out.println("InputStream loaded"); 
        } catch (FileNotFoundException e) { 
         System.out.println("InputStream not loaded"); 
         e.printStackTrace(); 
        }  
       } 
      } 
     } 
    } 

字符串對象的值路徑文件:///storage/emulated/0/Download/prova.json

主要問題是,當我嘗試加載文件時,它會拋出一個異常,指出該文件不存在,即使它確實如此。

再次謝謝大家!

+0

始終發佈堆棧跟蹤。 –

回答

0

所以,你想讀的JSON是在設備存儲,以便在你的清單,你需要啓用以下權限

這將使旅遊應用讀取aplication之外的設備上的文件上下文

+0

當我添加權限時,代碼開始工作!謝謝! –

+0

請接受答案 –

相關問題