我有MainActivity.class
我希望将我的Uri内容传递给另一个班级。
我的Uri是这个:
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// Get a URL to the uploaded content
@SuppressWarnings("VisibleForTests")
Uri downloadUrl = taskSnapshot.getDownloadUrl();
}
我想在我的MainActivity2.class
中获取此Uri,因此我可以获取URL字符串并将其粘贴到数据库引用以上传到firebase,因此我的用户上传了我的文件的Url,是我不知道如何传递这个字符串
protected Void doInBackground(Void... voids) {
mDatabase.child(personID).child("URL").setValue(downloadURL);
}
答案 0 :(得分:1)
在 MainActivity.java :
中Intent intent = new Intent(this, MainActivity2.class);
intent.putExtra("downloadUrl", downloadUrl);
startActivity(intent);
在 MainActivity2.java :
中Uri downloadUrl = getIntent().getParcelableExtra("downloadUrl");
答案 1 :(得分:0)
您可以使用intent和Uri启动活动,如下所示:
Uri downloadUrl = taskSnapshot.getDownloadUrl();
Intent intent = new Intent(MainActivity.this, MainActivity2.class);
// put uri to intent
intent.setData(downloadUrl);
startActivity(intent);
然后你可以通过以下方式从MainActivity2中获取Uri:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
// Get the Uri from the intent
Uri downloadUrl = getIntent().getData();
// Then do something with the Uri.
}
答案 2 :(得分:0)
首先在MainActivity.class
执行此操作:
Intent in = new Intent(MainActivity.this, NextActivity.class);
Bundle b = new Bundle();
b.putString("downloadUri", String.valueOf(downloadUri));
in.putExtras(b);
startActivity(in);
在你NextActivity.class
执行此操作:
Bundle extras = getIntent().getExtras();
Uri downloadUri = Uri.parse(extras.getString(downloadUri));
NextActivity.class
downloadUri
中有{{1}}。