android服务与其他类实例通信

时间:2014-08-28 07:49:58

标签: android service

首先让我描述逻辑。

  1. 用户启用“照片上传”按钮启动转移服务,将本地照片上传到服务器。

  2. 当应用程序对用户不可见时。仍然监控本地照片,如果相机新照片,立即上传。我使用此ContentResolver resolution来实现该功能。

  3. 终止应用后,用户可以拍摄新照片,重启应用时,扫描本地SD卡并上传这些新照片。

  4. 这是我的问题:

    如果活动被破坏,我应该何时将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投入使用吗?

1 个答案:

答案 0 :(得分:0)

按照步骤实施要求:

  1. 创建服务以满足要求的两个部分

  2. 用于触发服务的UI按钮

  3. 在服务类内部,注册一个Content Observer来检测摄像头事件,事件文件onChange()方法,这样你就可以在onChange()方法上传照片

  4. 注册转移服务,绑定连接并使用它来上传onStartCommand()方法下的所有本地照片。

  5. go to the github site查看整个项目。