앱에서 30 초마다 (서비스로) URL을 백그라운드에서로드하고 싶습니다. 레이아웃이 없으므로 서비스 클래스에 url을로드해야하므로 webview가 적합하지 않습니다. 앱을 닫을 때에도 백그라운드에서 URL을로드하려면 무엇을 사용해야합니까?
MyService.java 클래스
public class MyService extends Service {
Activity activity ;
Handler handler = new Handler();
Runnable runnable;
int delay = 7*1000;
public MyService(Activity activity){
this.activity = activity ;
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
handler.postDelayed( runnable = new Runnable() {
public void run() {
loadURL();
handler.postDelayed(runnable, delay);
}
}, delay);
return START_STICKY ;
}
@Override
public void onDestroy() {
}
public void loadURL(){
try{
String id = activity.getIntent().getStringExtra("ID");
URL url = new URL("http://localhost/att.php?id=" + id + "&status=&submit=Insert");
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
} catch (Exception e){
Toast.makeText(this, ""+e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
-
답변 # 1
관련 자료
- multithreading - 지연없이 실행하면 (Android에서) 작업이 완료되지 않은 이유는 무엇입니까?
- java - WebView Android에 JavaScript를 포함하는 방법
- Android 10 - android 10 - "활성화하지 않고 벨소리 볼륨"방해 금지 "에 대해 진동을 비활성화하는 방법
- java - Android WebView에서 북마크 추가를 활성화하는 방법
- firebase - Android Studio없이 로컬에서 Flutter 웹 앱 실행
- express - Android Studio없이 로컬에서 Flutter 웹 앱을 실행하면 Firebase 오류가 발생합니다
- xamarin.forms - Xamarin 양식 Android WebView 비디오 전체 화면
- debugging - 케이블을 사용하지 않고 루팅되지 않은 Android 장치에 ADB 명령을 보내는 진정한 방법이 있습니까?
- Android Studio 업데이트 후 미리보기 패널 공급자 (JavaFX WebView) 오류
- java - STB 만 켜면 Android WebView가 너무 느리게 진행됩니다
- java - Android Studio에서 Volley로 깜박이지 않고 기능 데이터 표시
- fido u2f - Android WebView 지원 WebAuthn?
- web - WebView가없는 웹 사이트 용 기본 Android 애플리케이션
- php - webview android에서 서버에서 로컬 HTML 페이지를 엽니 다
- javascript - API 레벨 18의 Android WebView를 사용하여 Javascript 평가
- 안드로이드 웹뷰와 이오 닉의 차이점
새로운 WorkManager를 사용할 수 있습니다.
기본적으로 다음 중 하나에서 확장되는 Worker 클래스를 만듭니다.
작업자 코 루틴 RxWorker ListenableWorker
그러면 다음과 같이 선언합니다 :
작업 관리자가 동일한 작업을 더 이상 시작하지 않도록 고유 한 작업을 대기열에 넣습니다.
Worker 클래스를 ListenableWorker와 같이 확장 할 때 코드를 사용하면 startWork () 함수를 대체하고 본문에서 다음을 실행합니다.