서비스에서 dialog를 팝업하는 방법
서비스에서 Toast를 팝업하는 것은 간단합니다.handler만 사용하면 됩니다. 코드는 다음과 같습니다.
1
2
3
4
5
6
hanlder.post(new Runnable() {
@Override
public void run() {
Toast.makeText(DialogService.this, " ", 1).show();
}
});
서비스에서 다이어로그를 팝업할 때 activity와 같은 코드를 쓸 때 오류가 발생합니다. 이 다이어로그의 디스플레이는 하나의activity에 의존해야 하기 때문입니다. 서버에 다이어로그를 하나의 시스템의 다이어로그로 설정해야 합니다. 즉 전역적인 알림 상자입니다. 핸드폰이 켜진 상태라면 현재 어떤 인터페이스에 있든alter를 호출하면 됩니다.show (), 알림 상자가 팝업됩니다.show () 호출 전에 다음 코드를 추가해야 합니다.
1
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
주의: 시스템의Dialog를 사용하려면 목록 파일에 권한을 추가해야 합니다. 그렇지 않으면android가 나타나지 않습니다.permission.SYSTEM_ALERT_WINDOW
모든 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Builder builder = new AlertDialog.Builder(this);
builder.setTitle(" ");
builder.setMessage(" ");
builder.setNegativeButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
builder.setPositiveButton(" ", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
}
});
final AlertDialog dialog = builder.create();
**// dialog show , dialog dialog**
dialog.getWindow().setType((WindowManager.LayoutParams.TYPE_SYSTEM_ALERT));
new Thread(){
public void run() {
SystemClock.sleep(4000);
hanlder.post(new Runnable() {
@Override
public void run() {
dialog.show();
}
});
};
}.start();
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.