티스토리 뷰
Stack Overflow에 자주 검색, 등록되는 문제들과 제가 개발 중 찾아 본 문제들 중에서 나중에도 찾아 볼 것 같은 문제들을 정리하고 있습니다.
Stack Overflow에서 가장 먼저 확인하게 되는 가장 높은 점수를 받은 Solution과 현 시점에 도움이 될 수 있는 가장 최근에 업데이트(최소 점수 확보)된 Solution을 각각 정리하였습니다.
아래 word cloud를 통해 이번 포스팅의 주요 키워드를 미리 확인하세요.
How to launch an Activity from another Application in Android
Android 다른 어플리케이션에서 액티비티를 시작하는 방법
문제 내용
I want to launch an installed package from my Android application. I assume that it is possible using intents, but I didn't find a way of doing it. Is there a link, where to find the information?
Android 어플리케이션에서 설치된 패키지를 실행하려고 합니다. 나는 그것이 인텐트를 사용해서 가능하다고 생각하지만, 그것을 할 방법을 찾지 못했습니다. 정보를 찾을 수 있는 링크가 있을까요?
높은 점수를 받은 Solution
If you don't know the main activity, then the package name can be used to launch the application.
디폴트 액티비티를 모르는 경우 패키지 이름을 사용하여 응용프로그램을 시작할 수 있습니다.
Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.package.address");
if (launchIntent != null) {
startActivity(launchIntent);//null pointer check in case package name was not found
}
가장 최근 달린 Solution
Starting from API 30 (Android 11) you can receive nullpointerexception with launchIntentForPackage
API 30(Android 11)부터 launchIntentForPackage와 함께 null 포인터 예외를 받을 수 있습니다.
val launchIntent: Intent? = activity.packageManager.getLaunchIntentForPackage("com.google.android.gm")
startActivity(launchIntent)
To avoid this you need to add the needed package to the manifest
이 문제를 방지하려면 매니페스트에 필요한 패키지를 추가해야 합니다.
<queries>
<package android:name="com.google.android.gm" />
</queries>
Here is documentation https://developer.android.com/training/package-visibility
여기 문서가 있습니다. https://developer.android.com/training/package-visibility
And the medium article https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9
그리고 미디엄 기고는 https://medium.com/androiddevelopers/package-visibility-in-android-11-cc857f221cd9 를 참고하세요.
출처 : https://stackoverflow.com/questions/3872063/how-to-launch-an-activity-from-another-application-in-android
'개발 > 안드로이드' 카테고리의 다른 글
inflate 할 때 발생한 'Avoid passing null as the view root' 오류 수정하기 (0) | 2022.12.14 |
---|---|
동적(코드)으로 뷰에 dp단위로 마진 적용하기 (0) | 2022.12.13 |
View의 GONE과 INVISIBLE의 차이 (0) | 2022.12.13 |
AlertDialog에서 표시되는 텍스트에 클릭 가능한 하이퍼링크 넣기 (0) | 2022.12.13 |
Android WebView를 포함하는 앱에서 브라우저를 여는 대신 리다이렉션 처리하기 (0) | 2022.12.13 |