package com.example.pdfviewershow;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.widget.Toast;
import com.github.barteksc.pdfviewer.PDFView;
import com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener;
import java.io.File;public classMainActivity extends AppCompatActivity {private static final int REQUEST_EXTERNAL_STORAGE = 1;privatePDFView pdfView;
@Overrideprotected voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSDPath();
getPermission();
pdfView=findViewById(R.id.pdfview);///storage/sdcard0/Documents/CMCC.pdf
File fPdfPath = new File("/sdcard/Download/CMCC.pdf");if(!fPdfPath.exists())
{
System.out.println("FILE *****************************");
}
pdfView.fromFile(fPdfPath)
.enableSwipe(true)
.swipeHorizontal(true)
.enableDoubletap(false)
.defaultPage(0)
.onLoad(newOnLoadCompleteListener() {
@Overridepublic void loadComplete(intnbPages) {
Toast.makeText(getBaseContext(),"loadComplete",Toast.LENGTH_LONG);
}
})
.enableAnnotationRendering(false)
.password(null)
.scrollHandle(null)
.enableAntialiasing(true)
.spacing(0)
.load();
}public voidgetSDPath(){
File sdDir= null;
File sdDir1= null;
File sdDir2= null;
boolean sdCardExist=Environment.getExternalStorageState()
.equals(android.os.Environment.MEDIA_MOUNTED);//判断sd卡是否存在
if(sdCardExist)
{
sdDir= Environment.getExternalStorageDirectory();//获取跟目录
sdDir1 =Environment.getDataDirectory();
sdDir2=Environment.getRootDirectory();
}
System.out.println("getExternalStorageDirectory():"+sdDir.toString());
System.out.println("getDataDirectory():"+sdDir1.toString());
System.out.println("getRootDirectory():"+sdDir2.toString());
}private voidgetPermission() {//验证是否许可权限//requestPermissions(new String[]{ Manifest.permission.READ_EXTERNAL_STORAGE},0x123);
requestPermissions(new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},0x456);
}
@Overridepublic void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {if (requestCode == 0x123)
{if (grantResults != null && grantResults[0] ==PackageManager.PERMISSION_GRANTED )
{
Toast.makeText(this,"已授权READ_EXTERNAL_STORAGE",Toast.LENGTH_LONG);
}
}if (requestCode == 0x456)
{if (grantResults != null && grantResults[0] ==PackageManager.PERMISSION_GRANTED)
{
Toast.makeText(this,"已授权WRITE_EXTERNAL_STORAGE",Toast.LENGTH_LONG);
}
}
}
}