При получении значка в Android поступает исключение в разрешении - PullRequest
1 голос
/ 02 марта 2012

Я создал приложение, которое позволит пользователю установить новую тему для своего телефона.Я пытаюсь изменить значки приложений по умолчанию (ммс, камера, калькулятор и т. Д.) После применения темы.Я пытаюсь сделать это, сохраняя изображения значков темы в локальной памяти.

В Iconcache.java Я изменил код.Я проверяю, какая тема используется в настоящее время, и если она не является темой по умолчанию, тогда я проверяю локальную память, чтобы определить, какая тема назначена, получить расположение значка и назначить конкретный значок.

Я правильно получаю местоположение значка, но не могу его открыть.Это показывает разрешение отклонено исключение.Смотрите журналы ниже.

    03-01 12:14:30.324: INFO/System.out(197): CN: ComponentInfo{com.android.settings/com.android.settings.Settings}
    03-01 12:14:30.324: INFO/System.out(197): *********In Try******* 
    03-01 12:14:30.324: INFO/System.out(197): getfullresiconnnnnnnnnnnnnnnn
    03-01 12:14:30.334: DEBUG/IconCache(197):   getFullResIcon  : info ResolveInfo{410b09f8 com.android.settings.Settings p=0 o=0 m=0x0}
    03-01 12:14:30.334: DEBUG/IconCache(197):   getFullResIcon  :try settingsContext android.app.ContextImpl@4108b660
    03-01 12:14:30.354: DEBUG/IconCache(197):   getFullResIcon  : currentThemePackage Default Theme
    03-01 12:14:30.354: INFO/System.out(197): current theme package :Default Theme
    03-01 12:14:30.374: DEBUG/IconCache(197):  if currenttheme!=default 
    03-01 12:14:30.374: INFO/System.out(197): Icon file :/data/data/com.android.settings/app_themes/settings.png
    03-01 12:14:30.424: DEBUG/IconCache(197):   getFullResIcon  : iconFile /data/data/com.android.settings/app_themes/settings.png
    03-01 12:14:30.424: DEBUG/IconCache(197):   if iconFile!=null 
    03-01 12:14:30.434: DEBUG/IconCache(197):   if iconFile!=null : ico val /data/data/com.android.settings/app_themes/settings.png
    03-01 12:14:30.483: WARN/System.err(197): java.io.FileNotFoundException: /data/data/com.android.settings/app_themes/settings.png: open failed: EACCES (Permission denied)
    03-01 12:14:30.493: WARN/System.err(197):     at libcore.io.IoBridge.open(IoBridge.java:406)
    03-01 12:14:30.533: DEBUG/dalvikvm(76): GC_CONCURRENT freed 1570K, 24% free 12477K/16263K, paused 5ms+81ms
    03-01 12:14:30.583: WARN/ActivityManager(76): Activity idle timeout for ActivityRecord{410e4510 com.android.launcher/com.android.launcher2.Launcher}
    03-01 12:14:30.703: WARN/System.err(197):     at java.io.FileInputStream.<init>(FileInputStream.java:78)
    03-01 12:14:30.703: WARN/System.err(197):     at com.android.launcher2.IconCache.getFullResIcon(IconCache.java:142)
    03-01 12:14:30.723: WARN/System.err(197):     at com.android.launcher2.IconCache.cacheLocked(IconCache.java:282)
    03-01 12:14:30.723: WARN/System.err(197):     at com.android.launcher2.IconCache.getIcon(IconCache.java:250)
    03-01 12:14:30.746: WARN/System.err(197):     at com.android.launcher2.LauncherModel.getShortcutInfo(LauncherModel.java:1641)
    03-01 12:14:30.746: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.loadWorkspace(LauncherModel.java:1041)
    03-01 12:14:30.755: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.loadAndBindWorkspace(LauncherModel.java:756)
    03-01 12:14:30.763: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.run(LauncherModel.java:821)
    03-01 12:14:30.763: WARN/System.err(197):     at android.os.Handler.handleCallback(Handler.java:605)
    03-01 12:14:30.763: WARN/System.err(197):     at android.os.Handler.dispatchMessage(Handler.java:92)
    03-01 12:14:30.773: DEBUG/StrictMode(271): StrictMode policy violation; ~duration=249 ms: android.os.StrictMode$StrictModeDiskReadViolation: policy=2711 violation=2
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1074)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.SharedPreferencesImpl.awaitLoadedLocked(SharedPreferencesImpl.java:184)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.SharedPreferencesImpl.getBoolean(SharedPreferencesImpl.java:241)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at com.android.calendar.Utils.getHideDeclinedEvents(Utils.java:464)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at com.android.calendar.widget.CalendarAppWidgetService$CalendarFactory.initLoader(CalendarAppWidgetService.java:356)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at com.android.calendar.widget.CalendarAppWidgetService$CalendarFactory.onReceive(CalendarAppWidgetService.java:525)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.ActivityThread.handleReceiver(ActivityThread.java:2118)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.ActivityThread.access$1500(ActivityThread.java:122)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.os.Handler.dispatchMessage(Handler.java:99)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.os.Looper.loop(Looper.java:137)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at android.app.ActivityThread.main(ActivityThread.java:4340)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at java.lang.reflect.Method.invokeNative(Native Method)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at java.lang.reflect.Method.invoke(Method.java:511)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
    03-01 12:14:30.773: DEBUG/StrictMode(271):     at dalvik.system.NativeStart.main(Native Method)
    03-01 12:14:30.783: WARN/System.err(197):     at android.os.Looper.loop(Looper.java:137)
    03-01 12:14:30.803: WARN/System.err(197):     at android.os.HandlerThread.run(HandlerThread.java:60)
    03-01 12:14:30.863: WARN/System.err(197): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
    03-01 12:14:30.863: WARN/System.err(197):     at libcore.io.Posix.open(Native Method)
    03-01 12:14:30.902: WARN/System.err(197):     at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98)
    03-01 12:14:30.902: WARN/System.err(197):     at libcore.io.IoBridge.open(IoBridge.java:390)
    03-01 12:14:30.913: DEBUG/dalvikvm(152): GC_CONCURRENT freed 4820K, 41% free 7254K/12231K, paused 4ms+270ms
    03-01 12:14:30.954: INFO/ActivityManager(76): Start proc com.android.providers.calendar for content provider com.android.providers.calendar/.CalendarProvider2: pid=310 uid=10009 gids={3003, 1015}
    03-01 12:14:31.044: WARN/System.err(197):     ... 12 more
    03-01 12:14:31.044: DEBUG/Launcher.IconCache(197): getFullResIcon  
    03-01 12:14:31.074: INFO/System.out(197): *********Executed******
    03-01 12:14:31.103: DEBUG/PowerManagerService(76): bootCompleted
    03-01 12:14:31.173: VERBOSE/DevicePolicyManagerService(76): Sending password expiration notifications for action android.intent.action.BOOT_COMPLETED
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): Boot is finished (32818 ms)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): 
    03-01 12:14:31.334    76:0x75 F/NetworkStats ]
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): problem reading network stats
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): java.lang.IllegalStateException: problem parsing line: null

    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.NetworkManagementService.getNetworkStatsUidDetail(NetworkManagementService.java:1234)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.net.NetworkStatsService.performPollLocked(NetworkStatsService.java:810)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.net.NetworkStatsService.updateIfacesLocked(NetworkStatsService.java:721)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.net.NetworkStatsService.updateIfaces(NetworkStatsService.java:699)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.net.NetworkStatsService.access$000(NetworkStatsService.java:128)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.server.net.NetworkStatsService$8.handleMessage(NetworkStatsService.java:1546)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at android.os.Handler.dispatchMessage(Handler.java:95)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at android.os.Looper.loop(Looper.java:137)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at android.os.HandlerThread.run(HandlerThread.java:60)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): Caused by: java.io.FileNotFoundException: /proc/net/xt_qtaguid/stats: open failed: ENOENT (No such file or directory)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at libcore.io.IoBridge.open(IoBridge.java:406)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at java.io.FileInputStream.<init>(FileInputStream.java:78)
03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at java.io.FileReader.<init>(FileReader.java:42)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at com.android.internal.net.NetworkStatsFactory.readNetworkStatsDetail(NetworkStatsFactory.java:272)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     ... 9 more
    03-01 12:14:31.204: INFO/SurfaceFlinger(33): Caused by: libcore.io.ErrnoException: open failed: ENOENT (No such file or directory)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at libcore.io.Posix.open(Native Method)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     at libcore.io.IoBridge.open(IoBridge.java:390)
    03-01 12:14:31.204: INFO/SurfaceFlinger(33):     ... 12 more
    03-01 12:14:31.384: INFO/System.out(197): CN: ComponentInfo{com.android.contacts/com.android.contacts.activities.DialtactsActivity}
    03-01 12:14:31.663: DEBUG/dalvikvm(34): GC_EXPLICIT freed 33K, 4% free 6825K/7107K, paused 3ms+4ms
    03-01 12:14:31.803: INFO/System.out(197): *********In Try******* 
    03-01 12:14:31.803: INFO/System.out(197): getfullresiconnnnnnnnnnnnnnnn
    03-01 12:14:31.843: DEBUG/IconCache(197):   getFullResIcon  : info ResolveInfo{410f0068 com.android.contacts.activities.DialtactsActivity p=0 o=0 m=0x0}
    03-01 12:14:31.843: DEBUG/IconCache(197):   getFullResIcon  :try settingsContext android.app.ContextImpl@410f69a8
    03-01 12:14:31.884: DEBUG/IconCache(197):   getFullResIcon  : currentThemePackage Default Theme
    03-01 12:14:31.884: INFO/System.out(197): current theme package :Default Theme
    03-01 12:14:31.894: DEBUG/IconCache(197):  if currenttheme!=default 
    03-01 12:14:31.894: INFO/System.out(197): Icon file :/data/data/com.android.settings/app_themes/contacts.png
    03-01 12:14:31.894: DEBUG/IconCache(197):   getFullResIcon  : iconFile /data/data/com.android.settings/app_themes/contacts.png
    03-01 12:14:31.894: DEBUG/IconCache(197):   if iconFile!=null 
    03-01 12:14:31.894: DEBUG/IconCache(197):   if iconFile!=null : ico val /data/data/com.android.settings/app_themes/contacts.png
    03-01 12:14:31.924: WARN/System.err(197): java.io.FileNotFoundException: /data/data/com.android.settings/app_themes/contacts.png: open failed: EACCES (Permission denied)
    03-01 12:14:31.924: WARN/System.err(197):     at libcore.io.IoBridge.open(IoBridge.java:406)
    03-01 12:14:31.964: WARN/System.err(197):     at java.io.FileInputStream.<init>(FileInputStream.java:78)
    03-01 12:14:31.964: WARN/System.err(197):     at com.android.launcher2.IconCache.getFullResIcon(IconCache.java:142)
    03-01 12:14:31.973: WARN/System.err(197):     at com.android.launcher2.IconCache.cacheLocked(IconCache.java:282)
    03-01 12:14:31.973: WARN/System.err(197):     at com.android.launcher2.IconCache.getIcon(IconCache.java:250)
    03-01 12:14:32.004: WARN/System.err(197):     at com.android.launcher2.LauncherModel.getShortcutInfo(LauncherModel.java:1641)
    03-01 12:14:32.004: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.loadWorkspace(LauncherModel.java:1041)
    03-01 12:14:32.014: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.loadAndBindWorkspace(LauncherModel.java:756)
    03-01 12:14:32.014: WARN/System.err(197):     at com.android.launcher2.LauncherModel$LoaderTask.run(LauncherModel.java:821)
    03-01 12:14:32.024: WARN/System.err(197):     at android.os.Handler.handleCallback(Handler.java:605)
    03-01 12:14:32.024: WARN/System.err(197):     at android.os.Handler.dispatchMessage(Handler.java:92)
    03-01 12:14:32.034: WARN/System.err(197):     at android.os.Looper.loop(Looper.java:137)
    03-01 12:14:32.044: WARN/System.err(197):     at android.os.HandlerThread.run(HandlerThread.java:60)
    03-01 12:14:32.044: WARN/System.err(197): Caused by: libcore.io.ErrnoException: open failed: EACCES (Permission denied)
    03-01 12:14:32.064: WARN/System.err(197):     at libcore.io.Posix.open(Native Method)
    03-01 12:14:32.064: WARN/System.err(197):     at libcore.io.BlockGuardOs.open(BlockGuardOs.java:98)
    03-01 12:14:32.114: WARN/System.err(197):     at libcore.io.IoBridge.open(IoBridge.java:390)
    03-01 12:14:32.114: WARN/System.err(197):     ... 12 more
    03-01 12:14:32.124: DEBUG/Launcher.IconCache(197): getFullResIcon  
    03-01 12:14:32.154: INFO/System.out(197): *********Executed******
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...