Android 개발 호출 외부 응용 프로그램에서 지정된 파일 열기
1905 단어 Android
Cateldory는 CATEGORY 입니다.OPENABLE,
Type은 "*/*"로 모든 파일 유형을 나타냅니다.
여기에는 읽기 및 쓰기 권한을 동적으로 신청해야 합니다.
if(ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!=PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(this,new String[]{ "Manifest.permission.WRITE_EXTERNAL_STORAGE"},1);
}
Intent intent=new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent,1);
startActivityForResult의 리셋 방법에서 OpenFiles(Context context, Uriuri) 방법을 실행합니다
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Uri uri;
if(resultCode== Activity.RESULT_OK){
if(requestCode==1){
uri=data.getData();
openFile(this,uri);
}
}
}
의도된 Flags 값을 FLAG 로 설정합니다.ACTIVITY_NEW_TASK,
Action 값은 ACTION 입니다.VIEW,
Data는 첫 번째 Intent에서 얻은 Uri입니다.
마지막으로 Intent의 정적 방법createChooser(Context context, Uri,uri) 팝업을 통해 외부 응용 프로그램을 선택하여 파일을 엽니다.
public void openFile(Context context,Uri uri){
try{
Intent intent = new Intent();
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(/*uri*/uri);
context.startActivity(intent);
Intent.createChooser(intent, " !");
}catch (ActivityNotFoundException e) {
Toast.makeText(context, "sorry , !", Toast.LENGTH_SHORT).show();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.