Bom dia pessoal.
-- Estou desenvolvendo um app em que eu salvo arquivos com extensão própria. Eu gostaria de compartilhar esses arquivos via Email, Skype, Bluetooth, Android Beam, Dropbox, etc.
Para fazer isso estou utilizando um FileProvider.
No manifest adicionei o seguinte código:
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="br.com.mydomain.myapp.fileprovider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
O arquivo file_paths.xml tem o seguinte conteudo:
<paths>
<external-path name="files" path="MYAPP/"/>
</paths>
E para compartilhar utilizo o seguinte código:
File file = new File(addressFile);
Uri uri = FileProvider.getUriForFile(getContext(), "br.com.mydomain.myapp.fileprovider", file);
final Intent intent = ShareCompat.IntentBuilder.from(getActivity())
.setType("application/pdf")
.setSubject(getString(R.string.share_subject))
.setText(getString(R.string.share_text))
.setStream(uri)
.setChooserTitle(getString(R.string.action_share))
.createChooserIntent()
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION|Intent.FLAG_GRANT_PREFIX_URI_PERMISSION);
startActivity(intent);
Mesmo com extensão dos meus arquivos não sendo PDF eu consigo compartilhar utilizando .setType("application/pdf").
O compartilhamento ocorre normalmente com Gmail, Dropbox, Android Beam. Mas estou tendo um probleminha com o Skype e Bluetooth.
Skype
O arquivo é compartilhado, porém vai com um nome "fantasia". Ou seja, de vez de ir com o nome original do arquivo vai com um nome temporário e isso dificulta eu importar o arquivo quando a outra parte o recebe.
Bluetooth
Quando seleciono enviar por bluetooth o arquivo não é enviado. Tenho a informação de que o arquivo não é suportado, isso devido ao fato de a extensão ser própria.
----------------------------
Alguém consegue me dar uma luz para enviar os arquivos via Skype com o nome correto e driblar o problema com o compartilhamento via Bluetooth?
Desde já agradeço.
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.






0 comentários:
Postar um comentário