我正在使用IntentService在后台更改壁纸。它会在收到推送通知时被调用。如果在应用程序打开时收到通知,则下面的代码可以正常工作。但是,如果关闭/杀死应用程序(通过使用菜单按钮滑动它),则无法正常工作
COMPONENTS ACTION CREATORS STORES
|----------------------<<<<-------------------|
| |
|------| |------------| |-------|
| | request | | request | |
| VIEW | ---------> | | ---------> | MODEL |----
| | | | | | |
|------| | | |-------| |
| CONTROLLER | |
|------| | | |-------| |
| | request | | request | | |
| VIEW | ---------> | | ---------> | MODEL | |
| | | | | | |
|------| |------------| |-------| |
| | | |
| |--------------------<<<<-------------------| |
|----------------------<<<<----------------------------|
打开应用程序时工作正常。关闭/杀死时,它无法在@Override
protected void onHandleIntent(Intent intent) {
//Toast.makeText(this, "Intent", Toast.LENGTH_SHORT).show();
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
String imageUrl = intent.getExtras().getString("imageUrl");
try {
URL url;
try {
WallpaperManager myWallpaperManager = WallpaperManager
.getInstance(this);
url = new URL(
imageUrl);
Bitmap bmp = BitmapFactory.decodeStream(url
.openConnection().getInputStream());
myWallpaperManager.setBitmap(bmp);
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
}
PushReceiver.completeWakefulIntent(intent);
}
下面是堆栈跟踪。
我正在使用Mi3小米设备(不确定这是否有帮助)
App拥有android.permission.INTERNET,android.permission.ACCESS_NETWORK_STATE
的权限BitmapFactory.decodeStream(url.openConnection().getInputStream())
答案 0 :(得分:0)
&#34;限制背景数据&#34;该应用程序的设置已关闭。我打开它,一切都开始工作了。
@MateuszHerych砰的一声。