2011-02-18 7 views
0

밀리 초 단위 인 WidgetProvider가 있습니다. 그것은 의도를 취하고 아마도 눈에 띄는 시간이 걸리는 서비스를 시작합니다. 이 지연 중에 사용자에게 진도 표시 줄처럼 사용자를 표시하려고했지만 BroadcastReceiver/WidgetProvider가 진행률 표시 줄을 시작하는 데 잘못된 위치 인 것처럼 보였습니다. 이 경우 진행률 표시 줄은 어디에서 발행해야합니까? 어쩌면? 그러나 서비스가 UI의 일부가 아닐 수도 있습니다.Android 진행률 대화 상자

+0

제게는 다음 사항을 명확히하십시오. 서비스 하나만 수행하면 서비스가 시작됩니까? 왜 위젯의 진행률 표시 줄을 보여주고 싶습니까? 사용자가 무언가가 처리되었다는 것을 알 수 있도록 "중간"상태를 표시하는 것이 좋습니다 ... – WarrenFaith

+0

이 서비스가 실행되는 동안 사용자가 더 많은 요청을 실행하지 못하게하려고합니다. – Androider

+0

나는 그것을 얻지 못한다. 서비스를 실행하는 요령은 어둠 속에서 사용자를 지키는 것이다. 그래서 서비스 작업 완료의 지연에 대해 사용자에게 알리는 것이 왜 필요 할까? – GoodSp33d

답변

1

여기서 진행률 표시 줄을 실행해야합니까?

UI 관점에서 유일한 선택은 앱 위젯 자체에있는 것입니다. ProgressBar는 앱 위젯 레이아웃에있는 유효한 위젯 중 하나입니다. 의 측면에서

는/업데이트를 표시하는 앱 위젯의 RemoteViews가/제거 ProgressBar, 즉 당신의 Service는 "눈에 띄는 시간"에 사용하는 어떤 배경 스레드에서 아마 업데이트합니다.

+0

위젯의 진행률 막대의 색상을 프로그래밍 방식으로 변경할 수 있습니까 ?? –

+0

@JagdeepSingh : [setProgressDrawable()'] (http://developer.android.com/reference/android/widget/ProgressBar.html#setProgressDrawable%28android.graphics.drawable.Drawable%29)를 사용하여 진행 상황을 표시하는 데 사용되는 Drawable입니다. 여러 가지 드로어 블을 여러 색상으로 사용하는 경우 서로 전환 할 수 있습니다. – CommonsWare

+0

예,하지만 위젯에서 진행 막대를 설정하는 동안 런타임에 colorCode로 진행률 막대의 색상을 설정하려면 해당 메소드가 없습니다. –

1

알림에 진행률 표시 줄을 넣으려고 했습니까? 앱을 다운로드 할 때 마켓 디스플레이와 같은 작업을 수행하면 실제로 잘 작동하고 백그라운드에서 잘 실행됩니다.

+0

할 수 있습니까? – GoodSp33d

+1

그래, 가장 좋은 방법은 진행률 표시 줄을 알림 창에 놓고 비동기 작업을 사용하여 진행 상태를 업데이트하는 것입니다. –

1

AsynTask를 사용하여 진행률 표시 줄을 표시 할 수 있습니다.

관련 문제