繁体   English   中英

如何从资产文件夹共享 htm 文本文件?

[英]How to share htm text file from assets folder?

直到今天,当我尝试从资产文件夹加载一些 html 文本文件时,我一直在使用下面的这段代码。 但不幸的是,共享意图拒绝工作。 因为我以前是用 EXTRA_TEXT 来声明的。 现在我从私有静态最终 String URL="file:///android_asset/html_files/dancerkate.html"; 读取我的文件;

请帮我更改此代码。这样它就可以共享来自 dancerkate.html 的文本,谢谢!


        switch (item.getItemId()){

            case R.id.share_button:
                //share Copied Text characters via other apps button
                Intent sendIntent = new Intent();
                sendIntent.setAction(Intent.ACTION_SEND);
                sendIntent.putExtra(Intent.EXTRA_TEXT, textView.getText().toString() + "Get App here: https://play.google.com/store/apps/details?id=com.joseph.workerbender");
                sendIntent.setType("text/plain");
                Intent.createChooser(sendIntent, "Share via");
                startActivity(sendIntent);

        }

        return super.onOptionsItemSelected(item);


首先,当 intentType 为文本时,您无法通过使用intent发送文件

sendIntent.setType("text/plain");

您可以阅读.html文件并获取该文件中的text并通过共享发送

private String getTextFromAssets(String fileName){
    try {
        final int bufferSize = 1024;
        final char[] buffer = new char[bufferSize];

        InputStream inputStream = getResources().getAssets().open(fileName);

        final StringBuilder out = new StringBuilder();
        Reader in = new InputStreamReader(inputStream, Charset.forName("UTF-8"));
        int charsRead;
        while((charsRead = in.read(buffer, 0, buffer.length)) > 0) {
            out.append(buffer, 0, charsRead);
        }
        Log.d("HtmlText", out.toString());
        return out.toString();
    } catch (IOException e) {
        Log.e("HtmlText", "HTML Read Error: "+e.toString());
    }
    return "";
}

现在从您的代码中调用该方法

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, getTextFromAssets("dancerkate.html"));
sendIntent.setType("text/plain");
Intent.createChooser(sendIntent, "Share via");
startActivity(sendIntent);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM