@ Махендра Гохил, я начал работу, как вы сказали, вот мой код,
Я начинаю записьдля записи в фоновом режиме, но это остановится автоматически через несколько минут.Как сохранить этот сервис в живых?можете поделиться своей работой Внедрение сервиса.
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
public class BackgroundJobService extends JobService {
private Handler handler = new Handler(Looper.getMainLooper());
static int time = 0;
static int timeInterval = 60 * 1000;
@Override
public boolean onStartJob(final JobParameters params) {
startRecording(this, params);
addRecursiveTaskHandler(params);
return true;
}
@Override
public boolean onStopJob(JobParameters params) {
return false;
}
static RecMicToMp3 recorder = null;
public void startRecording(final Context context, final JobParameters parameters) {
stopRecording(context);
String file = Environment.getExternalStorageDirectory().toString() + "/aaa.mp3";
try {
recorder = new RecMicToMp3(file, 8000);
recorder.start();
} catch (Exception exp) {
exp.getMessage();
}
}
private void addRecursiveTaskHandler(final JobParameters parameters) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
++time;
if (time <= 15) {
addRecursiveTaskHandler(parameters);
} else {
stopRecording(getApplicationContext());
jobFinished(parameters, false);
}
}
}, timeInterval);
}
public void stopRecording(final Context context) {
if ((null != recorder)) {
try {
recorder.stop();
recorder = null;
} catch (Exception e) {
e.printStackTrace();
}
}
}
}