У меня есть код ниже, и я хочу, чтобы его цикл каждые 5 секунд. Я попытался использовать диспетчер передачи и диспетчера аварийных сообщений, но безуспешно. Я хочу, чтобы мое обслуживание выполнялось в течение 5 раз и после этого останавливалось навсегда. Это второй вопрос, который я публикую. Пожалуйста, кто-нибудь поможет мне исправить код, я укладываю на свой Mac в течение 2 дней. Любая помощь будет оценена.Служба петли Android каждые 5 секунд и загрузка при запуске
код в цикле каждые 5 секунд
File key = new File(Environment.getExternalStorageDirectory(),"newfile"+Math.random()+".txt");
try {
key.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
InfoReceiver.class Сервис
public class InfoReceiver extends Service {
@Override
public void onCreate()
{
AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MyBroadcastReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
Calendar time = Calendar.getInstance();
time.setTimeInMillis(System.currentTimeMillis());
time.add(Calendar.SECOND, 5);
alarmMgr.set(AlarmManager.RTC_WAKEUP, 5000, pendingIntent);
}
}
InfoManager.class сервис
public class InfoManager extends Service {
@Override
public void onCreate() {
File key = new File(Environment.getExternalStorageDirectory(),"newfile"+Math.random()+".txt");
try {
key.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
}
MyBroadcastreceiver.class
public class MyBroadcastReceiver extends BroadcastReceiver {
private Context mContext;
@Override
public void onReceive(Context context, Intent intent) {
Intent startServiceIntent = new Intent(context, InfoManager.class);
context.startService(startServiceIntent);
}
}
Manifest Код
<service
android:name=".InfoReceiver"
android:enabled="true" >
</service>
<service
android:name=".InfoManager"
android:enabled="true" >
<intent-filter>
<action android:name=".InfoManager" />
</intent-filter>
</service>
<receiver
android:name=".MyBroadcastReceiver"
android:process=":remote" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Что нужно делать на самом деле ... Выполнение службы через 5 секунд na ??? –
Вы хотите создать файл со случайным именем в внешнем хранилище пользователей каждые 5 секунд, начиная с момента загрузки телефона. Почему мы должны помочь вам в этом? – CaseyB
Я изменил его, чтобы создать файл, чтобы иметь возможность его проверить .... на самом деле это не то, что я хочу делать (создать файл). Но да, на этом коде я хочу создать файл каждые 5 секунд и после 5 циклов уничтожить службу навсегда – rami78