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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

android中activity可以響應(yīng)外部的action的例子(可以用這個(gè)來(lái)導(dǎo)入外部文件)

標(biāo)簽:
Android

效果:

https://img1.sycdn.imooc.com//5c1b586d0001281506401106.jpg

如果使自己的应用也出现在这个列表上,必须在menifest的这个activity下加入:

<activity
    android:name=".export.ShareActivity">
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <action android:name="android.intent.action.EDIT" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />

        <data android:mimeType="application/pdf" />
        <data android:mimeType="image/bmp" />
        <data android:mimeType="image/tiff" />
        <data android:mimeType="image/gif" />
        <data android:mimeType="image/jpeg" />
        <data android:mimeType="image/x-ms-bmp" />
        <data android:mimeType="image/png" />
        <data android:mimeType="image/x-pcx" />
        <data android:mimeType="image/targa" />
        <data android:mimeType="image/x-photoshop" />
        <data android:mimeType="text/plain" />
        <data android:mimeType="text/xml" />
        <data android:mimeType="text/html" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />

        <category android:name="android.intent.category.DEFAULT" />

        <data
            android:host="*"
            android:mimeType="*/*"
            android:pathPattern=".*\\.pdf"
            android:scheme="file" />

        <data
            android:host="*"
            android:mimeType="*/*"
            android:pathPattern=".*\\.jpg"
            android:scheme="file" />

        <data
            android:host="*"
            android:mimeType="*/*"
            android:pathPattern=".*\\.bmp"
            android:scheme="file" />
        <data
            android:host="*"
            android:mimeType="*/*"
            android:pathPattern=".*\\.png"
            android:scheme="file" />

        <data
            android:host="*"
            android:mimeType="*/*"
            android:pathPattern=".*\\.txt"
            android:scheme="file" />

    </intent-filter>
</activity>

然后在activity的oncreate上接收这个intent:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    Intent intent = this.getIntent();
    int flags = intent.getFlags();
    if ((flags & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0) {
        if (intent.getAction() != null && Intent.ACTION_VIEW.equals(intent.getAction())) {
            if (SCHEME_FILE.equals(intent.getScheme()) || SCHEME_CONTENT.equals(intent.getScheme())) {

                String i_type = getIntent().getType();
                intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                mImportingUri = intent.getData();
                System.out.println("====mImportingUri=" + mImportingUri);

                InputStream is = null;
                try {
                    is = getContentResolver().openInputStream(mImportingUri);
                } catch (Exception e) {
                    System.out.println("====e=" + e);
                }

                if (mImportingUri != null && SCHEME_FILE.equalsIgnoreCase(mImportingUri.getScheme())) {
                    //Is file
                    startToCopyFile(is);
                } else if (mImportingUri != null && SCHEME_CONTENT.equalsIgnoreCase(mImportingUri.getScheme())) {
                    startCopyMedia(is);
                }

            }
        }
    }

}
private boolean startToCopyFile(InputStream is) {

    String fileName = getSDPath() + tmpPath + File.separator + getName(mImportingUri);
    makesureFileExist(fileName);
    File toFile = new File(fileName);
    CopyThread mCopyThread = new CopyThread(is, toFile);
    new Thread(mCopyThread).start();
    return true;
}


private class CopyThread implements Runnable {

    private File toFile;
    private InputStream fosfrom = null;


    public CopyThread(InputStream fosfrom, File toFile) {
        this.fosfrom = fosfrom;
        this.toFile = toFile;
    }

    @Override
    public void run() {
        try {
            TimeUnit.MILLISECONDS.sleep(800);

            FileInputStream fosfrom = null;
            if (this.fosfrom != null) {
                fosfrom = (FileInputStream) this.fosfrom;
            }
            FileOutputStream fosto = new FileOutputStream(toFile);
            byte bt[] = new byte[1024];
            int c;
            int time = 0;
            while ((c = fosfrom.read(bt)) > 0) {
                fosto.write(bt, 0, c);
            }
            if (fosfrom != null) {
                fosfrom.close();
            }
            fosto.close();

        } catch (Exception e) {
            return;
        } finally {
            try {
                if (this.fosfrom != null) {
                    this.fosfrom.close();
                }
            } catch (IOException e) {
            }
        }
    }
}

如果发现要导入的文件是txt格式,则我们在sd卡下建立一个tmp的文件夹,把这个文件拷贝进去:

代码在:https://github.com/nickgao1986/StepSport

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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

舉報(bào)

0/150
提交
取消