簡體   English   中英

安卓 | 以編程方式運行命令

[英]Android | Run command programmatically

我想創建一個(測試)應用程序,它在后台每小時執行一個命令(例如,編輯文件或顯示調試消息)。

假設應用程序以系統啟動啟動

  • 我怎樣才能做到這一點?
  • 應用程序必須始終保持運行?

請使用使用服務功能的警報管理器來實現這一點。

例如:

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
}

來源

要在設備啟動完成時啟動您的應用程序,您必須創建一個擴展 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);

如果您想在后台運行某些內容,請使用服務

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM