Customize behaviors to open PDF files
IAPMiniProgram SDK by default only can open regular PDF files and cannot open encrypted PDF files. In order to support super app in opening encrypted PDF files, the SDK provides the ability to customize the behavior to open a PDF file per demands.
Procedure
Step 1. Implement the Activity for loading PDF files
This code implements the functionality of a customized PDF viewer activity. It extends the Activity class and overrides the onCreate method. The code retrieves the file type and file path from the intent extras. It then checks whether the file exists and calls the showPdf method to load and display the PDF document. The logic for loading and displaying the PDF document is to be implemented in the showPdf method.
You can take the SDK UI illustration after loading a PDF file as references.
public class CustomPdfViewerActivity extends Activity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_custom_pdf_viewer);
String fileType = getIntent().getStringExtra("fileType");
String filePath = getIntent().getStringExtra("filePath");
File file = new File(filePath);
if (file.exists()) {
showPdf(file, null);
}
}
private void showPdf(File file, String password) {
// Implement the logic of loading PDF documents and display them here
}
}
Step 2. Implement the GriverOpenDocumentExtension interface
This code implements the functionality of a customized document opener extension. It implements the GriverOpenDocumentExtension interface and overrides the openDocument method. The method creates an intent to launch the CustomPdfViewerActivity and passes the file type and file path as extras. The activity is then started using startActivity.
public class CustomGriverOpenDocumentExtensionImpl implements GriverOpenDocumentExtension {
@Override
public void openDocument(Activity activity, String fileType, String filePath) {
//
Intent intent = new Intent();
intent.setClass(activity, CustomPdfViewerActivity.class);
intent.putExtra("fileType", fileType);
intent.putExtra("filePath", filePath);
activity.startActivity(intent);
}
}Step 3. Register the CustomGriverOpenDocumentExtensionImpl class
After initialize the SDK, call the registerExtension API to register theCustomGriverOpenDocumentExtensionImpl class.
IAPConnect.init(application,initConfig,new InitCallback() {
public void onSuccess() {
//ยทยทยท
Griver.registerExtension(new GriverExtensionManifest(
GriverOpenDocumentExtension.class, new CustomGriverOpenDocumentExtensionImpl()));
}
});Interfaces
GriverOpenDocumentExtension interface
The GriverOpenDocumentExtension interface is used to customize the behavior to open a PDF file, such as an encrypted PDF file. The following code shows the definition of this interface:
public interface GriverOpenDocumentExtension extends GriverExtension {
void openDocument(Activity activity, String fileType, String filePath);
}Based on the definition, this interface provides the following methods:
Method | Description | Required |
| The method that is called for SDK to open PDF documents. | Yes |
openDocument method
The openDocument method has the following input parameters:
Parameter | Data type | Description | Required |
| Activity | Indicates the context of | Yes |
| String | Indicates the type of file that can be pdf, doc, docx, xls, xlsx, ppt, or pptx. | Yes |
| String | Indicates the file storage directory. | Yes |
Appendices
UI illustration after loading a PDF file
When you customize the Activity for loading PDF files, you can refer to the default UI illustration of the SDK, which includes the following parts:
Load PDF files successfully | Failed to load PDF files |
|
|

