का उपयोग करके नियमित अंतराल पर वॉलपेपर बदलने के लिए एंड्रॉइड ऐप मैं एक ऐप बनाना चाहता हूं, जो एंड्रॉइड डिवाइस के वॉलपेपर को निश्चित अंतराल पर बदल देगा, हर घंटे या उससे भी ज्यादा कहें। वर्तमान में मेरे कोड में, मैं एक सेवा शुरू करता हूं और टाइमर ऑब्जेक्ट का उपयोग कर रहा हूं। टाइमर ऑब्जेक्ट नियमित अंतराल पर लगाया जाएगा और वॉलपेपर बदल जाएगा।एंड्रॉइड ऐप टाइमर
यह वह कोड है जिसे मैं वर्तमान में उपयोग कर रहा हूं। वॉलपेपर केवल एक बार बदल जाता है और उसके बाद नहीं। कृपया मुझे बताएं मुझे क्या करना चाहिए?
public class Wallpaper extends Service {
Timer mytimer;
int interval=60000;
Drawable drawable;
WallpaperManager wpm;
int prev=1;
@Override
public void onCreate() {
super.onCreate();
mytimer=new Timer();
wpm=WallpaperManager.getInstance(Wallpaper.this);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
mytimer.schedule(new TimerTask() {
@Override
public void run() {
if(prev==1){
drawable = getResources().getDrawable(R.drawable.two);
prev=2;
}
else if(prev==2){
drawable = getResources().getDrawable(R.drawable.three);
prev=3;
}
else{
drawable = getResources().getDrawable(R.drawable.one);
prev=1;
}
Bitmap wallpaper=((BitmapDrawable)drawable).getBitmap();
try {
wpm.setBitmap(wallpaper);
} catch (IOException e) {
e.printStackTrace();
}
}
}, interval);
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
}
इसके अलावा, क्या मुझे इसे प्राप्त करने के लिए अलार्ममेनगर या हैंडलर का उपयोग करने की आवश्यकता है? मैं एंड्रॉइड के लिए काफी नया हूं और थोड़ा उलझन में हूं।
तत्काल प्रारंभ के लिए देरी के लिए 0 सेट करें। :) – Calvin
धन्यवाद..यह अब काम कर रहा प्रतीत होता है .. कुछ अन्य myTimer.schedule() विधि केवल दो तर्कों के साथ है, जिससे मुझे कोई त्रुटि नहीं दे रही थी। वैसे भी, मुझे खुशी है कि मुझे हैंडलर आदि का उपयोग करने की आवश्यकता नहीं है – ambit
यूप! केवल दो तर्कों का उपयोग करके एक शॉट टाइमर बन जाता है। कभी-कभी उपयोगी! –