当前位置:编程学习 > wap >>

如何以程序的方式加载adobe reader阅读器

原问题来自于CSDN问答频道,更多解决方案见:http://ask.csdn.net/questions/491

问题描述:

我的一个应用程序是这样实现:通过我的应用程序,用户可以阅读pdf文件;如果没有pdf阅读器,程序会自动从网站上下载并安装它。以下代码是用于阅读pdf文件:
File file = new File("/sdcard/sample.pdf");
PackageManager packageManager = getPackageManager();
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.setType("application/pdf");
List list = packageManager.queryIntentActivities(testIntent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0 && file.isFile()) {
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    Uri uri = Uri.fromFile(file);
    intent.setDataAndType(uri, "application/pdf");
    startActivity(intent);
}


现在我想问的是:
1. 如何判断电话中有没有安装adobe reader阅读器?
2. 如何在电话中以程序的方式安装adobe reader阅读器?


解决方案:
Intent intent;
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(file, "application/pdf");
        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
            // No application to view, ask to download one
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("No Application Found");
            builder.setMessage("Download one from Android Market?");
            builder.setPositiveButton("Yes, Please",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                            marketIntent
                                    .setData(Uri
                                            .parse("market://details?id=com.adobe.reader"));
                            startActivity(marketIntent);
                        }
                    });
            builder.setNegativeButton("No, Thanks", null);
            builder.create().show();
        }
    } --------------------编程问答-------------------- Intent intent;
        intent = new Intent(Intent.ACTION_VIEW);
        intent.setDataAndType(file, "application/pdf");
        try {
            startActivity(intent);
        } catch (ActivityNotFoundException e) {
            // No application to view, ask to download one
            AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setTitle("No Application Found");
            builder.setMessage("Download one from Android Market?");
            builder.setPositiveButton("Yes, Please",
                    new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialog, int which) {
                            Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                            marketIntent
                                    .setData(Uri
                                            .parse("market://details?id=com.adobe.reader"));
                            startActivity(marketIntent);
                        }
                    });
            builder.setNegativeButton("No, Thanks", null);
            builder.create().show();
        }
    } --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 感谢 CSDN_Ask 的共享奉献精神,从CSDN问答网站  开站以来,从未间断分享的坚持,对于一些正在努力学习的筒子们  有很大帮助的。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- s[align=left]etDataAndType(file, "applicatio try {[align=left]     startActivity(incatch (ActivityNotFoundException e) {// No application to view, ask ertDialog.Buiwww.syszhj.comlder builder = new AlertDialog.Buildbuilder.setTitle("No Application Fbuilder.setMessage("Download one from Android Market?");builder.setPositiveButton("Yes, Pl        new DialogInterface.OnClickListene --------------------编程问答--------------------
引用 5 楼 zhaixiaohu 的回复:
我刚测试了下,我本身有账号A,然后WEIBO账号B,绑定以后,2个账号登陆的都是一个ID啊

问题是这一步可通不过。
请管理员和产品考虑下这样的流程:
1. 4月25号注册了一个帐号A:csdn_test,并发了一些贴子
2. 4月26号用自己的weibo帐号B:weibo_test登录,并发了一个一些帖子
3. 4月27号,用户想把A,B帐号打通。问题来了。

1.登录B:weibo_test 想绑定A
选择绑定帐号,sorry,只有解除绑定的选项! 
选择解除绑定,sorry,还得绑定邮箱!


设置老邮箱,oh,soory!

设置新邮箱,oh,sorry!(其实我早就绑定过邮箱了)


2.登录A:csdn_test 想绑定B


点击绑定:

oh,no!又返回帐号B了!

--------------------编程问答-------------------- adobe的语句真是好长
--------------------编程问答-------------------- 过来学习哦 --------------------编程问答-------------------- 除 --------------------编程问答--------------------
引用 6 楼 hilojack 的回复:
引用 5 楼 zhaixiaohu 的回复:我刚测试了下,我本身有账号A,然后WEIBO账号B,绑定以后,2个账号登陆的都是一个ID啊
问题是这一步可通不过。
请管理员和产品考虑下这样的流程:
1. 4月25号注册了一个帐号A:csdn_test,并发了一些贴子
2. 4月26号用自己的weibo帐号B:weibo_test登录,并发了一个一些帖子
3. 4月2……


确实有这个问题。我反馈下~ --------------------编程问答-------------------- 谢谢分享楼主 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 很不错,非常好了 --------------------编程问答-------------------- 学学 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 感谢分享,学习 --------------------编程问答-------------------- 3Q 话说不能回复的太短 --------------------编程问答-------------------- 谢谢楼主 --------------------编程问答-------------------- 正的很实用啊 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- --------------------编程问答-------------------- 嗯,不错。学习了。 --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 很好,学学看了  --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 牛人,学习了
--------------------编程问答-------------------- 除
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,