Android 8.0 버 전 업데이트 자동 설치 불가 해결 방법
며칠 전 앱 이 새 버 전 을 출시 했 는데 일부 사용자 들 은 패 키 지 를 다운로드 한 뒤 설 치 를 클릭 하면 반응 이 없다 는 반응 을 보 였 다.이 부분의 사용자 휴대 전화의 시스템 버 전 을 조사해 보 니 모두 8.0+버 전이 다.새 버 전의 특성 에 너무 오랫동안 관심 을 갖 지 않 아 이 문제 가 발생 했다.
Android 8.0(Android O)는 일부 건달 소프트웨어 를 대상 으로 사용자 에 게 다른 무관 한 응용 프로그램 을 설치 하도록 유도 하기 위해 서 입 니 다.응용 권한 이 설정 한'특수 접근 권한'에'다른 응용 프로그램 설치'설정 을 추가 했다.
이루어지다
1.목록 파일 권한 설명
<uses-permissionandroid:name="android.permission.REQUEST_INSTALL_PACKAGES"/>
2.설치 버튼 을 눌 러 권한 여 부 를 판단
if (Build.VERSION.SDK_INT >= 26) {
// apk
boolean installAllowed= getPackageManager().canRequestPackageInstalls();
//
if (installAllowed) {
// apk
install(apkPath);
} else {
//
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.REQUEST_INSTALL_PACKAGES}, INSTALL_APK_REQUESTCODE);
}
} else {
install(apkPath);
}
권한 리 셋 신청
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case INSTALL_APK_REQUESTCODE:
//
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
install(apkPath);
} else {
// 。
Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES);
startActivityForResult(intent, GET_UNKNOWN_APP_SOURCES);
}
break;
}
}
APK 설치
private void install(String apkPath) {
//7.0 FileProvider
if (Environment.SYSTEM_VERSION_CODE >= 24) {
Uri uri = FileProvider.getUriForFile(context, Environment.FILE_PROVIDER_AUTHORITY, new File(apkPath));
Intent intent = new Intent(Intent.ACTION_VIEW).setDataAndType(uri, "application/vnd.android.package-archive");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
context.startActivity(intent);
} else {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setDataAndType(Uri.parse("file://" + apkPath), "application/vnd.android.package-archive");
context.startActivity(intent);
}
}
그림 업데이트이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.