안드로이드 lockscreen 패키지 이름을 얻는 방법이 있습니까?안드로이드 lockscreen 패키지 이름을 얻는 방법
AlertDialog.Builder
을 사용하여 잠금 화면에 경고를 표시하고 싶습니다. 그래서 lockscreen이 활성화되어 있고 패키지 이름이 무엇인지 알 필요가 있습니다.
안드로이드 lockscreen 패키지 이름을 얻는 방법이 있습니까?안드로이드 lockscreen 패키지 이름을 얻는 방법
AlertDialog.Builder
을 사용하여 잠금 화면에 경고를 표시하고 싶습니다. 그래서 lockscreen이 활성화되어 있고 패키지 이름이 무엇인지 알 필요가 있습니다.
네이티브 솔루션을 찾았습니다. 경고 대화 상자를 작성하고 표시하기 전에 다음을 적용하십시오.
AlertDialog alertDialog = new AlertDialog.Builder(context).create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
alertDialog.show();
그러면 잠금 화면 상단에 대화 상자가 표시됩니다.
잠금 화면이 함께 표시되어있는 경우 감지 할 수 있습니다
((KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE)).inKeyguardRestrictedInputMode();
그리고 당신이 현재 정상 활동 얻을 수 있습니다 : 이것은 일반적으로 잠금 화면 활동이 될 것입니다
(ActivityManager) getSystemService(Service.ACTIVITY_SERVICE).getRunningTasks(1).get(0).topActivity;
를하지만이 가능 예를 들어 잠금 화면이 활성화되어있는 동안 전화 앱이 표시됩니다.이 경우 전화 활동이됩니다.
이 기능을 사용하려면 android.permission.GET_TASKS 권한이 필요합니다.
심볼 getRunningTasks를 해결할 수 없습니다. –
정말 간단한 솔루션입니다.
KeyguardManager km = (KeyguardManager) getApplicationContext().getSystemService(Context.KEYGUARD_SERVICE);
if(km.inKeyguardRestrictedInputMode()) {
//it is locked
}
@llya_Gazman 작동하지 않습니다. 권한이 필요합니다. –
@FaisalAhsan Nop, 권한이 없습니다. https://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_SHOW_WHEN_LOCKED –