好吧,我已经过了一段时间,我没有得到它。多个环节中的建议都没有解决问题。使用电子邮件意向
我已成功设置我的应用程序发送文件。目前,我正在尝试使用我的应用程序打开这些文件。
当我点击收到的电子邮件中的文件时,我的活动打开。
接下来我需要做的是将本地文件保存在我的应用程序使用的外部存储文件夹中。
所以,当你点击一个文件并且意图过滤器打开正确的活动时,你下一步要做什么访问该文件?
意图过滤器:
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
<data android:pathPattern=".*\\.gmgt" />
</intent-filter>
活动:
public class ActFileReceiver extends Activity {
private TextView label;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_file_receiver);
label = (TextView) findViewById(R.id.lblFileRecieverText);
}
}
意图用来发送文件:
public void emailFile(File file) {
Uri fileURI = Uri.fromFile(file);
Intent mailIntent = new Intent(android.content.Intent.ACTION_SEND);
mailIntent.setType("messsage/vnd.com.boardmonkey.TABLETop.gamefile");
mailIntent.putExtra(Intent.EXTRA_SUBJECT, "TABLETop game file: " + file.getName());
mailIntent.putExtra(Intent.EXTRA_STREAM, fileURI);
startActivity(Intent.createChooser(mailIntent, "Send Mail With..."));
}
“我没有代码示例” - 当然可以。根据你的问题,你有一个活动,你有一个''。根据你的''是什么来做什么的细节('ACTION_VIEW'?'ACTION_SEND'?别的?)。所以,至少给我们一些。 –
CommonsWare
够公平的,不是那么深,我的不好。编辑以反映我实际上做了什么。 –
action_sendto工作得很好,我的应用程序将成功通过设备上的任何可发送应用程序发送文件。 –