2016-07-31 4 views
3

를 시작한 후 다시 반환하지 않습니다이 의도아니 내가 가진 의도

@Override 
public void onClick(View v) { 

    Intent intent = getPackageManager().getLaunchIntentForPackage("com.instagram.android"); 

    Uri uri = Uri.parse("http://instagram.com/_u/symphonyrecords"); 

    if (intent != null) { 

    intent = new Intent(Intent.ACTION_VIEW, uri); 
    intent.setPackage("com.instagram.android"); 
    startActivity(intent); 

    } else { 

    intent = new Intent(Intent.ACTION_VIEW); 
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    intent.setData(Uri.parse("market://details?id=" + "com.instagram.android")); 
    startActivity(intent); 
    } 
    } 
}); 

내가 수익을 다시 누를 때 온 클릭, 의도 (인스 타 그램) 시작은하지만, 내 응용 프로그램은

내가 변경해야합니까 폐쇄 후 여기에 뭔가 추가 하시겠습니까?

답변

0

startActivityForResult()을 사용하고 KEY_CODE을 할당해야 활동 범위 외부에서 발생한 문제를 처리 할 수 ​​있습니다.

안드로이드 문서 :

다른 활동을 시작 단방향 일 필요는 없습니다. 다른 활동을 시작하고 결과를 다시받을 수도 있습니다. 결과를 받으려면 startActivityForResult() (startActivity() 대신)를 호출하십시오.

예를 들어, 앱에서 카메라 앱을 시작하여 캡처 한 사진을받을 수 있습니다. 또는 사용자가 연락처를 선택하기 위해 피플 앱을 시작하면 연락처 세부 정보가 결과로 표시됩니다.

물론 응답하는 활동은 결과를 반환하도록 설계되어야합니다. 그것이 실행되면 결과를 또 다른 인 텐트 오브젝트로 보낸다. 액티비티는 onActivityResult() 콜백에서 그것을받습니다.

여기에서 자세한 내용을보실 수 있습니다 : Getting a Result from an Activity