Android |以编程方式运行命令

时间:2015-10-07 09:21:45

标签: android

我想创建一个(测试)应用程序,它在后台每小时执行一次命令(例如,编辑文件或显示调试消息)。

假设应用程序以系统启动

启动
  • 我该怎么做?
  • 应用必须始终保持运行状态?

2 个答案:

答案 0 :(得分:0)

请使用alarmmanager使用服务功能来实现此目的。

例如:

private void setAlarmManager() {
    Intent intent = new Intent(this, AlarmReceiver.class);
    PendingIntent sender = PendingIntent.getBroadcast(this, 2, intent, 0);
    AlarmManager am = (AlarmManager) getSystemService(ALARM_SERVICE);
    long l = new Date().getTime();
    if (l < new Date().getTime()) {
        l += 86400000; // start at next 24 hour
    }
    am.setRepeating(AlarmManager.RTC_WAKEUP, l, 86400000, sender); // 86400000
}

Source

答案 1 :(得分:-1)

在设备启动完成后启动应用程序您必须创建一个扩展Receiver的类。 在清单中声明你的类就像这样

<receiver android:name=".ClassName">
<intent-filter >
    <action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>

不要忘记使用许可

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

将以下内容写入Receiver类,onReceive Override方法

Intent intent= new Intent(context, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);

如果您想在后台运行某些内容,请使用Services