수색…


통사론

  • 의지()
  • 의도 (의도 o)
  • 의도 (문자열 동작)
  • 의도 (문자열 동작, Uri uri)
  • 인 텐트 (Context packageContext, Class <?> cls)
  • 인 텐트 (문자열 액션, URI uri, Context packageContext, Class <?> cls)

매개 변수

매개 변수 세부
영형 의지
동작 String: ACTION_VIEW. 와 같은 의도 동작 ACTION_VIEW.
우 리 Uri: 의도 데이터 URI.
packageContext Context: 이 클래스를 구현하는 응용 프로그램 패키지의 컨텍스트입니다.
CLS Class: 의도에 사용되는 구성 요소 클래스입니다.

비고

암시 적 및 명시 적 의도

명시 적 인 텐트는 동일한 응용 프로그램 패키지 내에서 활동 또는 서비스를 시작하는 데 사용됩니다. 이 경우 의도 된 클래스의 이름이 명시 적으로 언급됩니다.

Intent intent = new Intent(this, MyComponent.class);
startActivity(intent);

그러나 암시 적 인 텐트는 해당 인 텐트를 처리 할 수있는 사용자 장치에 설치된 모든 응용 프로그램에 대해 시스템을 통해 전송됩니다. 다른 응용 프로그램간에 정보를 공유하는 데 사용됩니다.

Intent intent = new Intent("com.stackoverflow.example.VIEW");

//We need to check to see if there is an application installed that can handle this intent
if (getPackageManager().resolveActivity(intent, 0) != null){ 
    startActivity(intent);
}else{
    //Handle error
}

차이에 대한 자세한 내용은 Android 개발자 문서 (여기)에서 확인할 수 있습니다. 의도 해결

암시 적 의도

함축적 인 텐트는 특정 구성 요소의 이름을 지정하지 않고 대신 수행 할 일반 작업을 선언하므로 다른 응용 프로그램의 구성 요소가이를 처리 할 수 ​​있습니다.

예를 들어 사용자에게지도의 위치를 ​​표시하려면 암시 ​​적 의도를 사용하여 다른 가능한 앱이지도의 지정된 위치를 표시하도록 요청할 수 있습니다.

예:

// Create the text message with a string
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, textMessage);
sendIntent.setType("text/plain");

// Verify that the intent will resolve to an activity
if (sendIntent.resolveActivity(getPackageManager()) != null) {
    startActivity(sendIntent);
}


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow