Notice
Recent Posts
Recent Comments
Tags
- ASP.Net Core 404
- 말줄임표시
- javascript redirection
- javascript 유효성체크
- 404에러페이지
- 파일업로드 유효성체크
- php 캐쉬제거
- jquery 바코드생성
- TempData
- 맥 오라클설치
- django 엑셀불러오기
- 파일업로드 체크
- XSS PHP
- asp.net core Select
- SSD 복사
- 타임피커
- XSS방어
- 하드 윈도우 복사
- asp.net dropdownlist
- javascript 바코드 생성
- asp.net Select
- javascript 바코드스캔
- Mac Oracle
- ViewBag
- jquery 바코드
- 하드 마이그레이션
- 강제이동
- 바코드 스캔하기
- 바코드 생성하기
- ViewData
웹개발자의 기지개
[안드로이드] 특정앱 설치여부 확인하기 본문
아래는 Fragment 형태의 메뉴를 기준으로 소스코딩한 예시 코드이다.
[ HomeFragment.java ]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
public class HomeFragment extends Fragment {
private Context context;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
context = container.getContext();
View view = inflater.inflate(R.layout.fragment_home, container, false);
PackageManager pm = this.getActivity().getPackageManager();
if (isPackageInstalled("io.metamask", pm)) {
// 메타마스크 설치된 경우 실행할 코드
} else {
// 메타마스크가 설치되지 않은 경우 실행할 코드
showInstallMetamaskDialog();
}
return view;
}
private boolean isPackageInstalled(String packageName, @NotNull PackageManager packageManager) {
try {
packageManager.getPackageInfo(packageName, 0);
return true;
} catch (PackageManager.NameNotFoundException e) {
return false;
}
}
// 메타마스크 설치 다이얼로그 표시 함수
private void showInstallMetamaskDialog() {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage("메타마스크를 설치해주세요.")
.setCancelable(false)
.setPositiveButton("설치하기", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://play.google.com/store/apps/details?id=io.metamask"));
startActivity(intent);
}
})
.setNegativeButton("취소", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
|
cs |
[ 주의사항 ]
Android 11(API Level 30)부터 설치 여부를 조회할 수 없고, AndroidManifest.xml 에서 아래 소스를 추가한 후 사용해야 한다.
<manifest>
<queries>
<package android:name="io.metamask"/> // 설치확인할 패키지명
</queries>
</manifest>
참고 : https://stackoverflow.com/questions/22396382/cant-find-getpackagemanager-method-in-android
'안드로이드' 카테고리의 다른 글
Comments