picking PDF files using Intent in android - android

Hey I am new in android I have a requirement to choose pdf files using Intent. I am using this code to set type of MIME.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("pdf/*")
But it's not working the way I want, please provide me any suggestions or can I make some changes to the existing code.

Do this intent.setType("application/pdf");

Try Below Code:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setType("application/pdf");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);

Related

Add Intent for a specific extension?

I want to set a particular extension for intent in the android studio.
I have tried intent.setType("*\\.pdf")"
you have tried path to file (any path with pdf extension), thats not a mimeType which you should set in here. try to set proper value intent.setType("application/pdf");
Intent intentPdf = new Intent(Intent.ACTION_GET_CONTENT);
intentPdf.setType("application/pdf");
intentPdf.addCategory(Intent.CATEGORY_OPENABLE);
startActivityForResult(Intent.createChooser(intentPdf, "Pick PDF"), CUSTOM_CODE);

Audio content sharing using Intent in Marshmallow

I am trying to implement content sharing functionality in my app for audio files and here is my code:
Intent intent = new Intent(android.content.Intent.ACTION_SEND);
File file = new File(songData_new.song_path);
intent.setDataAndType(Uri.fromFile(file), "audio/*");
startActivity(intent);
But it's not working on Marshmallow devices. What's wrong?

How can I ask the user to select the app he wants to use to open a file?

I'm trying to make my own file manager for android.
I am wondering how I could asks the user to choose the application he wants to use open a file. like when you are opening a .doc file and you have a bunch of .doc file readers. How would I be able to retrieve the list of apps that the user can use to read/open a file?
Try this code
Uri uri = Uri.parse("Your file name: //"+file.getAbsolutePath());
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
String type = "application/msword";
intent.setDataAndType(Uri.fromFile(file), type);
startActivity(intent);
You should use implicit intent for your purpose. Below is the sample code for giving options to play a video file
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.parse("https://youtu.be/jxoG_Y6dvU8"), "video/*");
startActivity(Intent.createChooser(intent, "Complete action using"));
I hope it will help you out. For further details you may refer android official documentation as mentioned in below link
https://developer.android.com/training/basics/intents/sending.html#AppChooser
I think you can try this
Intent in= new Intent(Intent.ACTION_MAIN);
in.setComponent(new ComponentName("com.package.address","com.package.address.MainActivity"));
startActivity(in);

How open a .torrent file in miutorrent programmatically

In my android app i have successfully downloaded .torrent files and now i want to open them in miutorrent (or another torrent downloading app) how to implement this ?? any help would be highly appreciated....
Try starting an intent with mime type as application/x-bittorrent
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(TorrentUri, "application/x-bittorrent");
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);

How to open the My Files folder in Android Programatically (using Intent)?

I am using the below code which opens up the Gallery, Music Player, Dropbox and Contacts, i want the My Files folder to get open programatically, please let me know if there are any specific intent parameters i need to pass to get the File Manager open.
if it is not possible through intent then please give me a snippet or an hint to open the My Files folder programatically.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
Intent i = Intent.createChooser(intent, "View Default File Manager");
startActivityForResult(i, CHOOSE_FILE_REQUESTCODE);
Thanks.
You can use this code to file the files.
int PICKFILE_RESULT_CODE=1;
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent,PICKFILE_RESULT_CODE);
this will help you to browse the files from your storage.
Its best that you include a library in your project which handles this scenario.
This worked for me:
This library shows the list of third-party apps. It also has its own file browser for selecting files.
Bad thing is, most Android distributions may or may not ship with a file manager, and even so, may be not with the one which handles CHOOSE_FILE_REQUESTCODE.
So, you are left to create your own file picker activity. Luckily there are many ready made ones available:
http://code.google.com/p/android-filechooser/
https://developers.inkfilepicker.com/docs/android/
If you want to open samsung My Files application try this below code.
Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
startActivityForResult(intent, CHOOSE_FILE_REQUESTCODE);
You have to specifically mention the package name of the explorer application. Please find the example below to open a specific folder in ES Explorer.
public void openfolderInexplorer(String path){
Intent intent = this.getPackageManager().getLaunchIntentForPackage("com.estrongs.android.pop");
if (intent != null) {
// If the application is avilable
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Uri uri = Uri.parse(path);
intent.setDataAndType(uri, "resource/folder");
this.startActivity(intent);
} else {
// Play store to install app
intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(Uri.parse("market://details?id=" +
"com.estrongs.android.pop"));
this.startActivity(intent);
}
try this below code. if any file manager available , then it will pop up in a form of menu to choose appropriate for the user.
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("file/*");
startActivityForResult(intent, CHOOSE_FILE_REQUESTCODE);

Categories

Resources