2012-05-02 4 views
1

내 앱에 2 개의 위젯을 추가했습니다. 그러나 일부 Android 버전에서 사용자가 앱을 SD 카드로 옮기면 위젯 사용이 중지됩니다.프로그래밍 방식으로 위젯 등록 취소

해결책으로 저는 위젯 만 포함 된 새로운 작은 응용 프로그램을 만들었습니다. 따라서 사용자는 메인 앱을 SD 카드로 옮기고 위젯을 사용할 수 있도록 내부 저장소에 위젯 앱을 저장할 수 있습니다. 위젯 앱에는 2 개의 주요 위젯 외에 2 개의 위젯 (총 4 개)이 있습니다. 이 2 개의 추가 위젯은 일종의 베타 위젯입니다. 하나의 위젯이 많이 사용되는 것을 본다면 그것을 향상시키고 기본 패키지를 옮길 것입니다.

사용자가 주 앱을 SD 카드 (또는 SD 카드에서 위젯을 사용할 수있는 Android 버전)로 이동하지 않고 사용자가 위젯 앱을 설치하여 추가 위젯 2 개에 액세스 할 수없는 경우 문제가 발생합니다. 이 경우 사용자는 주 앱에서 한 번, 위젯 앱에서 두 번 두 번씩 위젯을 두 번 받게됩니다.

내가하고 싶은 일은 위젯 앱이 설치되어있는 것을 감지하면 메인 앱에서 2 개의 위젯을 사용 중지하는 것입니다. 이는 위젯 2 개가 반복되는 것을 피하기위한 것입니다.

위젯 앱이 설치되어있는 경우 기본 앱에서 확인하는 방법을 알고 있습니다. 프로그래밍 방식으로 위젯을 비활성화하는 방법을 모르겠습니다. 그게 가능하니?

답변

5

PackageManagersetComponentEnabledSetting()을 사용하여 AppWidgetProvider의 이름을 비활성화하면 더 이상 목록에 표시되지 않습니다.

사용자가 이미 자신의 홈 화면에 앱 위젯을 추가 한 경우 사용자가 혼란스러워 질 수 있습니다.

+0

감사합니다. 위젯의 onDisabled 및 onUpdate에 설정된 플래그와 함께 사용하여 아직 추가되지 않은 경우에만 비활성화합니다. –

관련 문제