我写了一些应用程序,它取了我的android手机中存在的一些文件夹并压缩了文件夹 - 并将其发送到某个FTP服务器。
这个应用程序没有问题,但是这个应用程序包含GUI并发送激活它我需要按下活动上的一些按钮。
但是现在,我想写一些其他应用程序并将作为服务运行并将执行相同的操作 - 这意味着该服务将每3小时运行一次并将压缩一些文件夹并将压缩文件夹上传到ftp。
我不知道该怎么做......
感谢您的帮助。
答案 0 :(得分:1)
您需要使用报警管理器定期拨打电话服务,以下是您如何使用报警管理员提供服务的答案
http://khurramitdeveloper.blogspot.in/2013/06/android-alarm-manager-to-start-service.html
用于启动启动服务
http://khurramitdeveloper.blogspot.in/2013/06/start-activity-or-service-on-boot.html
答案 1 :(得分:1)
我假设您知道如何创建服务,但不知道如何在启动时启动它。这就是解决方案的分解方式:
启动后启动:
首先你需要创建一个接收器:
public class AfterBootReceiver extends BroadcastReceiver {
final static String TAG = "BootCompleted";
@Override
public void onReceive(Context context, Intent arg1) {
Log.w(TAG, "about to start service...");
context.startService(new Intent(context, YourService.class));
//This line starts your service.
}
}
然后在Manifest.xml 和注册上述接收者时,授予服务启动启动权限。
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<receiver android:name=".AfterBootReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
如果您希望它在启动时启动,请不要将您的应用放在SD卡上
要在服务中运行定期代码:
对于周期,您可以使用Alarm Manager。
示例: Start service every hour,Using alarm manager instead of timer task
然后,在定期代码中,文件上传任务: