test.a.a 패키지에서
다른 어플리케이션을 호출합니다
test.b.b 라는 패키지로 했을경우
test.b.b.test.class를 호출할경우
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setClassName("test.b.b", "test.b.b.test");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.putExtra("PackageTest", test);
MainActivity.this.startActivity(intent);
startActivityForResult(intent, 0);
이렇게 해서 test.b.b의 패키지에 있는 test를 호출하여 잘 불러왔습니다
test.b.b.test에서는 넘어온 값을 찍으면 잘 찍힙니다.
Intent getIntent = getIntent();
String PackageTest = getIntent.getStringExtra("PackageTest") + "";
if(!PackageTest.equals("null")){
Toast.makeText(MainActivity.this, PackageTest, Toast.LENGTH_SHORT).show();
}
이렇게 해서 찍어주면 넘어온 값이 잘 찍힙니다.
그리고 test.b.b.test에서 버튼 클릭시 해당 엑티비티를 닫고
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(getIntent());
intent.putExtra("PkTest", "잘된다");
setResult(RESULT_OK, intent);
finish();
}
});
위의 소스와 같이 setResult를 이용해서 특정 값을 되돌려주려고 하는데 값이 넘어가질 않네요...
완전히 다른 어플리케이션을 호출하여 값을 돌려받을때는 어떻게 돌려받아야되나요??
test.a.a.MainActivity 에서 돌아온 값을 받을때는
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_OK)
return;
if(requestCode == 0){
String test = data.getStringExtra("PkTest");
Toast.makeText(MainActivity.this, test, Toast.LENGTH_SHORT).show();
}
}
이렇게해주고 있는데 다른 어플리케이션 호출했다가 값 돌려받을때는 이런 방법으로 하는게 아닌가요??