우리 앱에서는 다른 파일 저장 앱에서 파일을 가져 오려고합니다. 예를 들어, 앱을 열고 앱 선택기를 시작하고 드롭 박스를 선택하고 파일을 선택하고 Google 앱에서 파일을 엽니 다.queryIntentActivities()를 사용하여 Google 드라이브를 표시하려면 어떻게해야하나요?
는 내가 다른 애플 리케이션을 시도하고 호출이 의도를 설정 한 : 우리는 이것이 우리의 사용자가 선택할 수있는 애플 리케이션을 표시하기 위해 반환 응용 프로그램의 목록을
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PackageManager packageManager = getPackageManager();
List activities = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
중요한 부분은 queryIntentActivities
이다 사용하고 있습니다. dropbox 및 Microsoft OneDrive와 같은 앱은 문제가 없지만 Google 드라이브는 절대로 표시되지 않습니다.
queryIntentActivities
과 함께 Google 드라이브를 반환 받으려면 어떻게해야합니까?
스토리지 액세스 프레임 워크를 살펴본 결과, 우리가하는 일과 잘 어울리는 것 같지만 API 14+ 이상을 지원한다는 점을 명확히해야하며 문서에 대한 단기 액세스 권한 만 있으면됩니다. 'ACTION_GET_CONENT'가 여전히 14+ 이상으로 사용해야하는 것 같습니다. 그렇다면 Google 드라이브는 'ACTION_GET_CONTENT'을 (를) 지원합니까? 내가 본 모든 대답은 부정이라고하지만 그들은 몇 살입니다. –
예, 파일에 대한 임시 액세스 만하려는 경우에는 확실히 'ACTION_GET_CONTENT'를 사용해야합니다. 당신은 너무 많은 일을하고 있습니다. -'ACTION_GET_CONTENT'는 사용자가 어떤 DocumentProvider에서든지'GET_CONTENT' **와 **를 필터링하는 Activity가있는 앱을 선택할 수있는 UI를 가져옵니다. 당신이 만든'Intent '를 실행하면 모든 것을 볼 수 있습니다. 필요한 권한으로 인해 해당 시스템 UI 만 'DocumentsProviders'에서 읽을 수 있으므로 앱 내에서 동일한 목록을 만들 수는 없습니다. – ianhanniballake