0

Android 용 실행기 앱을 개발 중이며이를 위해 사용할 수있는 활동에 영향을주는 ACTION_PACKAGE_REMOVED, ACTION_PACKAGE_CHANGED 등과 같은 작업으로 시스템 브로드 캐스트 알림을 받기 위해 앱을 필요로합니다. 사용자와 함께 시작 (내 앱에 의해 표시).Intent.ACTION_PACKAGE_CHANGED - 수신 한 앱 구성 요소의 브로드 캐스트가 수신되지 않음

브로드 캐스트 패키지 설치됨, 패키지 제거됨, 패키지 업데이트 됨 & 패키지 사용 중지됨/사용 가능 여부는 일반적인 경우와 마찬가지로 작동하지만 티타늄 백업 또는 이와 유사한 패키지를 통해 브로드 캐스트 수신기에 통보되는 패키지 전체가 비활성화 된 경우입니다. 시스템 브로드 캐스팅이 Intent.ACTION_PACKAGE_CHANGED 동작을 가지고 있지만 Activity와 같은 앱 구성 요소가 MyAndroidTools와 같은 앱에서 개별적으로 사용 중지 된 경우 방송 수신자에게 알림이 전송되지 않습니다. 즉, Intent.ACTION_PACKAGE_CHANGED가 포함 된 브로드 캐스트가 시스템에서 내 앱으로 전송되지 않습니다. 개별 앱 구성 요소를 사용 중지하기 때문에 여기

는 필수 인 텐트 필터와 방송 수신기의 제 매니페스트 선언입니다 :

<receiver android:name=".LauncherBroadcastReceiver"> 
      <intent-filter android:priority="100"> 
       <action android:name="android.intent.action.PACKAGE_ADDED"/> 
       <action android:name="android.intent.action.PACKAGE_CHANGED"/> 
       <action android:name="android.intent.action.PACKAGE_REPLACED"/> 
       <action android:name="android.intent.action.PACKAGE_REMOVED" /> 
       <data android:scheme="package" /> 
      </intent-filter> 
     </receiver> 

다 같이 노력들이 의도 그러나 패키지의 전체를 사용할 수있는 경우에만 또는 사용할 수 있지만 경우에 하나의 구성 요소 (예를 들어 활동) 비활성화되었거나 활성화되었습니다.

일부 다른 실행 프로그램을 사용하여 테스트를 검사 한 결과, 특정 구성 요소가 활성화 된 경우 실행 프로그램에서 단일 구성 요소가 비활성화 된 경우 (응용 프로그램 서랍에 사라짐) 반영됩니다. 그래서 그 발사대는이 정보를 듣고 일부 청취자 또는 방송 수 있습니다. 내 문제에 대한

답변

0
`<receiver android:name=".LauncherBroadcastReceiver" exported="true" enabled="true">` 
+0

내 경우의 값은 모두 기본적으로 true이며 패키지 전체 변경 사항에 대한 의도를 수신 할 수 있으므로 문제가되지는 않지만 도움을 주셔서 감사합니다. –

0

하나 개의 가능한 솔루션 (좋지 않은)는 변경 사항을 반영하기 위해 활동 onResume 방법 및 업데이트보다 장애인 실행 가능한하는 행동이 목록을 얻는 것입니다. 에만 사용할 실행 가능한 활동

을위한 모든 실행 가능한 (장애인 포함 해) 활동

Intent mainLaunchIntent = new Intent(Intent.ACTION_MAIN); 
     mainLaunchIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
     mainLaunchIntent.addFlags(PackageManager.MATCH_DISABLED_COMPONENTS); 
     List<ResolveInfo> activitiesInformationList = packageManager.queryIntentActivities(mainLaunchIntent, 0); 
  • 쿼리 패키지 관리자에 대한

    1. 쿼리 패키지 관리자 :

      장애인 실행 가능한 활동의 ​​목록을 얻으려면
      Intent mainLaunchIntent = new Intent(Intent.ACTION_MAIN); 
           mainLaunchIntent.addCategory(Intent.CATEGORY_LAUNCHER); 
           List<ResolveInfo> activitiesInformationList = packageManager.queryIntentActivities(mainLaunchIntent, 0); 
      
    2. 목록 (1-2) 장애인 활동의 목록이 될 것입니다. 나는 나를 위해 이상적이지 않기 때문에 더 많은 답변을 기다리고 싶다. 그러나 some1이 도움이되는 동일한 도움을 찾으면 그것을 테스트 할 수있다.

  • 관련 문제