首先让我描述逻辑。
用户启用“照片上传”按钮启动转移服务,将本地照片上传到服务器。
当应用程序对用户不可见时。仍然监控本地照片,如果相机新照片,立即上传。我使用此ContentResolver resolution来实现该功能。
终止应用后,用户可以拍摄新照片,重启应用时,扫描本地SD卡并上传这些新照片。
这是我的问题:
如果活动被破坏,我应该何时将step2
置于服务中。我应该使用其他服务来实施step3
业务。
你可以找到the source on Github
请参阅下面的源代码段:
Intent txIntent = new Intent(this, TransferService.class);
startService(txIntent);
Log.d(DEBUG_TAG, "start TransferService");
// bind transfer service
Intent bIntent = new Intent(this, TransferService.class);
bindService(bIntent, mConnection, Context.BIND_AUTO_CREATE);
Log.d(DEBUG_TAG, "try bind TransferService");
Intent monitorIntent = new Intent(this, FileMonitorService.class);
startService(monitorIntent);
Intent cameraUploadIntent = new Intent(this, CameraUploadService.class);
startService(cameraUploadIntent);
this.getApplicationContext().getContentResolver().registerContentObserver(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, false, cameraUploadObserver);
`
那么我应该将cameraUploadObserver投入使用吗?
答案 0 :(得分:0)
按照步骤实施要求:
创建服务以满足要求的两个部分
用于触发服务的UI按钮
在服务类内部,注册一个Content Observer来检测摄像头事件,事件文件onChange()方法,这样你就可以在onChange()方法上传照片
注册转移服务,绑定连接并使用它来上传onStartCommand()方法下的所有本地照片。
go to the github site查看整个项目。