Hello Guys,
I am using a service in my app. But it doesn't seem to work in sleep
mode. I have implemented startforeground to prevent it from shutting
down but it still does. Following is my code.
public class NotificationService extends Service {
MediaPlayer notifysound;
MediaPlayer textsound;
Timer myTimer=null;
SharedPreferences myPref;
NotificationManager mNotificationManager;
public void onCreate() {
super.onCreate();
if(myTimer==null)
myTimer = new Timer();
mNotificationManager = (NotificationManager)
getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.icon,
"MyService",
System.currentTimeMillis());
notification.flags = Notification.FLAG_AUTO_CANCEL;
RemoteViews contentView = new RemoteViews(getPackageName(),
R.layout.customnotification);
contentView.setImageViewResource(R.id.notificationimage,
R.drawable.icon);
contentView.setTextViewText(R.id.notificationtext, "Service
Started!");
notification.contentView = contentView;
View view = new View(this);
Intent notificationIntent = new Intent(view.getContext
(),SomeClass.class);
PendingIntent contentIntent = PendingIntent.getActivity
(view.getContext(), 0, notificationIntent, 0);
notification.contentIntent = contentIntent;
mNotificationManager.notify(1, notification);
startForeground(1, notification);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public int onStartCommand (Intent intent, int flags, int startId)
{
startservice();
return START_STICKY;
}
private void startservice() {
myTimer.schedule( new TimerTask() {
public void run() {
DoSomething();
}
}, 0, 5000);
; }
protected void DoSomething() {
try
{
Some code which makes http request and gets response...
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public void onDestroy()
{
super.onDestroy();
stopservice();
}
private void stopservice() {
if (myTimer != null)
{
myTimer.cancel();
myTimer.purge();
myTimer = null;
}
}
}
Code to call this service
Intent myIntent = new Intent(this,NotificationService.class);
startService(myNotificationServiceIntent);
Please let me know if I am going wrong somewhere....
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en