所以我在我的主要活动中有一个uri,我设置使用[intent_name] .setData(uriVar)发送到另一个意图;当我需要使用getIntent()。getData()在新活动中提取uri时,uri变为null。我在我的应用程序中的几种情况下通过了uri,并且出于某种原因,这是唯一一个对象最终为null的文件;
将uri设置为意图
//add to gallery
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
mediaScanIntent.setData(mMediaUri);
sendBroadcast(mediaScanIntent);
}
//Sends the Uri to the recipients page
Intent recipientsIntent = new Intent(this, RecipientsActivity.class);
Log.i(TAG, mMediaUri+ "");
recipientsIntent.setData(mMediaUri);
我运行此行并记录所有必要的数据
Log.i(TAG, recipientsIntent.getData() + "");
startActivity(recipientsIntent);
当我们到达这里时,数据已经消失了。从逻辑上讲,没有什么可以删除数据吗?我试着理解我的头发。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
setContentView(R.layout.activity_recipients);
mMediaUri = getIntent().getData();