我一直在試圖找到一種方法將消息從設置活動傳遞到我的Wallpaper服務。從設置活動消息傳遞WallpaperService時需要BIND_WALLPAPER的權限
在設置我這樣做:
Context context = getApplicationContext();
Intent i = new Intent(context, RainWallpaper.class);
i.setAction("my_action");
context.startService(i);
在我的清單我的意圖過濾器部分的動作在WallpaperService我已經覆蓋onStartCommand()
服務
<action android:name="my_action" />
最後。
當我運行代碼並調用startService()
時,出現安全異常。
W/ActivityManager(2466):權限拒絕:訪問服務 ComponentInfo {com.myclassname}從PID = 2466,UID = 1000需要 android.permission.BIND_WALLPAPER
所以這似乎說我需要給設置對話框權限BIND_WALLPAPER
。所以,當我添加該權限時,設置對話框現在會崩潰並出現安全異常。
2年後,這是一個完美的解決方案我需要的東西。謝謝!!一件小事:初始化應該是:receiver = new Receiver(MyWallpaperService.this); – Twinsen