Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 未使用Android:OnClick打开PDF文件_Java_Android_Pdf_Android Intent - Fatal编程技术网

Java 未使用Android:OnClick打开PDF文件

Java 未使用Android:OnClick打开PDF文件,java,android,pdf,android-intent,Java,Android,Pdf,Android Intent,因此,我成功地获得了一个按钮,使用意图打开pdf文件,但当我运行应用程序并按下按钮时,它会显示“无法显示pdf”。有谁能帮我弄清楚代码到底哪里出错了吗 以下是我的活动: package com.example.android.practiceapp; import android.app.Activity; import android.content.ActivityNotFoundException; import android.content.Intent; import androi

因此,我成功地获得了一个按钮,使用意图打开pdf文件,但当我运行应用程序并按下按钮时,它会显示“无法显示pdf”。有谁能帮我弄清楚代码到底哪里出错了吗

以下是我的活动:

package com.example.android.practiceapp;

import android.app.Activity;
import android.content.ActivityNotFoundException;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.View;
import android.widget.Button;

import java.io.File;

public class promotions extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_promotions);

        final Button button = (Button) findViewById(R.id.earlybird);
        button.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v){
                File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/pictures/Early_Bird_Bonus_Rules");
                Intent intent = new Intent(Intent.ACTION_VIEW);
                intent.setDataAndType(Uri.fromFile(file), "application/pdf");
                intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
                Intent intent1 = Intent.createChooser(intent, "Open With");
                try {
                    startActivity(intent1);
                } catch (ActivityNotFoundException e) {
                    // Instruct the user to install a PDF reader here, or something
                }
            }

        });

 }
}

你能提供一些额外的细节吗,例如;您正在尝试打开文件本身。你试过多个版本的Android吗?我可以想象,在您当前的代码中,尝试打开pdf的应用程序会中断,因为您尝试打开的文件似乎没有.pdf扩展名。您是否添加了从外部存储访问文件的运行时权限。这可能是一个原因。@Thys-我只试过我自己的设备,那就是棒棒糖。另外,您是说我应该将名称更改为“Early_Bird_Bonu_Rules.pdf”@Pallavi我在我的androidmanifest.xml中拥有权限。文件扩展名是文件名的一部分,因此也是路径的一部分。您能否提供一些其他详细信息,例如;您正在尝试打开文件本身。你试过多个版本的Android吗?我可以想象,在您当前的代码中,尝试打开pdf的应用程序会中断,因为您尝试打开的文件似乎没有.pdf扩展名。您是否添加了从外部存储访问文件的运行时权限。这可能是一个原因。@Thys-我只试过我自己的设备,那就是棒棒糖。另外,您是说我应该将名称更改为“Early_Bird_Bonu_Rules.pdf”@Pallavi我拥有androidmanifest.xml中的权限文件扩展名是文件名的一部分,因此也是路径的一部分。