我想通過我的應用程序附加在WhatsApp上的圖像。我的應用程序包含兩個活動 答:它包含很多片段 B:只是一個活動onActivityResult在片段不叫
當我在我的Mainactivity上放置了一個意圖過濾器,其中包含用於選取圖像的片段。因此,這裏是發生了什麼:
試圖附加的圖片的WhatsApp - >打開Mainactivity(片段1)點擊GridView的物品 - >轉到活動B
當我在b。點擊按鈕將數據發送回到Whatsapp,它回到Mainactivity,甚至沒有調用Fragment的OnActivityResult方法。我必須將數據發送回whatsapp。 我已經看過與此問題有關的每個問題。但沒有任何作品! :/我使用
代碼:
Mainactivity.java(包含片段)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
}
Fragment1.java
mGrid.setOnItemClickListener(
new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
// TODO Auto-generated method stub
Intent i = new Intent(getActivity(), FullImageActivity.class);
// passing array index
i.putExtra("im",fileList);
i.putExtra("pos", position);
i.putExtra("folder", folder);
i.putExtra("req", isinint);
startActivityForResult(i, Activity.RESULT_OK);
}
});
Fragment1.java(Onactivityresult)
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == Activity.RESULT_OK){
Log.i("called","called");
getActivity().setResult(Activity.RESULT_OK, data);
getActivity().finish();
}
}
活動B:
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Log.i("called","btncalled");
Intent shareIntent = new Intent(android.content.Intent.ACTION_SEND, Uri.parse(Environment.getExternalStorageDirectory() + "/Smileys/" + imageUrls[pagerPosition].replace("assets://pics/", "")));
FullImageActivity.this.setResult(Activity.RESULT_OK, shareIntent); //set the file/intent as result
FullImageActivity.this.finish();
}
});
我看不到一個錯誤在你的代碼之上。我建議你做一些改變: 1 - 用你的requestCode創建一個常量(例如:'private static final int REQUEST_CODE_SELECT_PICTURE = 1;'),當你調用startActivityForResult而不是Activity時使用它.RESULT_OK 2 - 檢查您的主要活動使用Log 接收到對onActivityResult的調用3 - 檢查是否有其他片段正在接收此返回 – MartinCR 2014-08-29 16:33:01