第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在Android上通過Intent選擇任何類型的文件

在Android上通過Intent選擇任何類型的文件

慕少森 2019-12-20 10:06:15
我想為可以返回任何文件的應(yīng)用程序啟動(dòng)一個(gè)Intentchooser目前,我使用(從Android電子郵件源代碼復(fù)制的文件附件)Intent intent = new Intent(Intent.ACTION_GET_CONTENT);intent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("*/*");Intent i = Intent.createChooser(intent, "File");startActivityForResult(i, CHOOSE_FILE_REQUESTCODE);但是它僅在我的Galaxy S2上顯示“圖庫”和“音樂播放器”。該設(shè)備上有一個(gè)文件瀏覽器,我希望它出現(xiàn)在列表中。我還希望照相機(jī)應(yīng)用程序顯示在列表中,以便用戶可以拍攝照片并通過我的應(yīng)用程序發(fā)送。如果我安裝了Astro文件管理器,它也會(huì)響應(yīng)該意圖。我的客戶僅是Galaxy SII所有者,鑒于他們已經(jīng)具有基本但足夠的文件管理器,因此我不想強(qiáng)迫他們安裝Astro文件管理器。關(guān)于如何實(shí)現(xiàn)此目標(biāo)的任何想法嗎?我敢肯定,我已經(jīng)看到默認(rèn)的文件管理器出現(xiàn)在這樣的菜單中以選擇文件,但是我不記得是哪個(gè)應(yīng)用程序了。
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

不是用于相機(jī),而是用于其他文件。


在我的設(shè)備中,我已經(jīng)ES File Explorer安裝好了,這對(duì)我來說很簡單。


Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

intent.setType("file/*");

startActivityForResult(intent, PICKFILE_REQUEST_CODE);


查看完整回答
反對(duì) 回復(fù) 2019-12-20
?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

三星文件瀏覽器不僅需要自定義操作(com.sec.android.app.myfiles.PICK_DATA),而且部分類(意向。CATEGORY_DEFAULT)和MIME類型應(yīng)該額外進(jìn)行傳遞。


Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");

intent.putExtra("CONTENT_TYPE", "*/*");

intent.addCategory(Intent.CATEGORY_DEFAULT);

您也可以使用此操作來打開多個(gè)文件:com.sec.android.app.myfiles.PICK_DATA_MULTIPLE無論如何,這是我的解決方案,可在Samsung和其他設(shè)備上使用:


public void openFile(String mimeType) {


        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);

        intent.setType(mimeType);

        intent.addCategory(Intent.CATEGORY_OPENABLE);


        // special intent for Samsung file manager

        Intent sIntent = new Intent("com.sec.android.app.myfiles.PICK_DATA");

         // if you want any file type, you can skip next line 

        sIntent.putExtra("CONTENT_TYPE", mimeType); 

        sIntent.addCategory(Intent.CATEGORY_DEFAULT);


        Intent chooserIntent;

        if (getPackageManager().resolveActivity(sIntent, 0) != null){

            // it is device with Samsung file manager

            chooserIntent = Intent.createChooser(sIntent, "Open file");

            chooserIntent.putExtra(Intent.EXTRA_INITIAL_INTENTS, new Intent[] { intent});

        } else {

            chooserIntent = Intent.createChooser(intent, "Open file");

        }


        try {

            startActivityForResult(chooserIntent, CHOOSE_FILE_REQUESTCODE);

        } catch (android.content.ActivityNotFoundException ex) {

            Toast.makeText(getApplicationContext(), "No suitable File Manager was found.", Toast.LENGTH_SHORT).show();

        }

    }

該解決方案對(duì)我來說效果很好,也許對(duì)其他人也很有用。


查看完整回答
反對(duì) 回復(fù) 2019-12-20
?
拉丁的傳說

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊

在銀河上為我完成的這項(xiàng)工作請注意其顯示聯(lián)系人,設(shè)備上安裝的文件管理器,圖庫,音樂播放器


private void openFile(Int  CODE) {

    Intent i = new Intent(Intent.ACTION_GET_CONTENT);

    i.setType("*/*");

    startActivityForResult(intent, CODE);

}

在這里獲取onActivityResult活動(dòng)的路徑。


protected void onActivityResult(int requestCode, int resultCode, Intent data) {

     String Fpath = data.getDataString();

    // do somthing...

    super.onActivityResult(requestCode, resultCode, data);


}


查看完整回答
反對(duì) 回復(fù) 2019-12-20
  • 3 回答
  • 0 關(guān)注
  • 1477 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)