如何解决联机Internet连接性以及脱机模式下的PDF查看器
|| PDF内容可以是在线模式,也可以是脱机模式,我需要以自己的自定义布局显示pdf,这样就不能使用Intent。任何建议将不胜感激。谢谢。解决方法
首先,Android中不支持pdf,因此您需要在其他应用程序(如adob)中打开,或者如果您想以正确的方式打开它,则需要使load lib(如vudroid和apdfviewer)成为可能。
apdfviewer非常好,但是不支持如何编译源代码,实际上所有库都在后端使用c ++,因此您需要安装ndk。
Vudroid速度很慢,但是您可以轻松编译。
我希望这能帮到您。
但
某些手机(例如Nexus One)预先安装了Quickoffice版本,因此,将文件保存到SD卡后,就像发送适当的Intent一样容易。
public class OpenPdf extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.OpenPdfButton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
File file = new File(\"/sdcard/example.pdf\");
if (file.exists()) {
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(path,\"application/pdf\");
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
try {
startActivity(intent);
}
catch (ActivityNotFoundException e) {
Toast.makeText(OpenPdf.this,\"No Application Available to View PDF\",Toast.LENGTH_SHORT).show();
}
}
}
});
}
}
, 是的,我们能够在google doc api的帮助下在线显示pdf内容。在这里,我得到了使用它的代码。用于在线模式
public class ReaderActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webView=(WebView)this.findViewById(R.id.WebView01);
Intent intent = new Intent(Intent.ACTION_VIEW);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setPluginsEnabled(true);
webView.loadUrl(\"https://docs.google.com/viewer?url=http%3A%2F%2Fwww.eli.sdsu.edu%2Fcourses%2Ffall09%2Fcs696%2Fnotes%2FAndroid13Web.pdf\");
//intent.setDataAndType(Uri.parse(\"https://docs.google.com/viewer?url=---------Your URL\");
}}
用于离线模式
File file = new File(mRealPath);
Uri path = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setDataAndType(path,getString(R.string.application_type));
try
{
startActivity(intent);
}
catch (ActivityNotFoundException e)
{
Toast.makeText(FirstTab.this,getString(R.string.no_application_found),Toast.LENGTH_SHORT).show();
}
注意:在离线模式下,您首先将文件格式的服务器下载到sd卡中的本地设备中,然后将此文件的获取路径放在路径变量的位置,然后得到漏洞的答案。
在此代码中,您应该在我的网址位置使用您的网址。
希望对您有所帮助。
, 我发现Internet连接模式:-通过google doc,我们可以打开pdf。
但在Internet离线模式下:-我们需要使用Intent并通过设备中安装的任何pdf查看器应用程序打开pdf文件。
在离线模式下,我们可以做的一件事是,与其在设备中打开多个pdf查看器的选项,然后选择一个应用程序打开pdf文件,我们可以使用特定的应用程序打开pdf。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。