Avatar billede Slettet bruger
19. maj 2011 - 17:47 Der er 3 kommentarer og
1 løsning

Android Service at boot?

Hej

Jeg er ved at lave en app der KRÆVER at en service starter op sammen med Android. Jeg har to spørgsmål.

1. Vil en service blive dræbt af Taskkillere?
2. Hvorfor starter servicen ikke op?

AndroidManifest.xml:

<service android:name=".Reciever">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <category android:name="android.intent.category.HOME" />
            </intent-filter>
        </service>

Reciever.java (Debugging service)

public class Reciever extends Service {
    private static final String TAG = "Frax.dk";
   
      private Timer timer;
   
      private TimerTask updateTask = new TimerTask() {
        @Override
        public void run() {
          Log.i(TAG, "Timer task doing work");
        }
      };
   
      @Override
      public IBinder onBind(Intent intent) {
        // TODO Auto-generated method stub
        return null;
      }
   
      @Override
      public void onCreate() {
        super.onCreate();
        Log.i(TAG, "Service creating");
   
        timer = new Timer("TweetCollectorTimer");
        timer.schedule(updateTask, 1000);
      }
   
      @Override
      public void onDestroy() {
        super.onDestroy();
        Log.i(TAG, "Service destroying");
   
        timer.cancel();
        timer = null;
      }
      public void onReceive(Context context, Intent intent) {
          String action = intent.getAction();

          if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
              Log.d(TAG,"Booted");
          }
        }
}

Håber i kan hjælpe.. :-)

- Niclas
Avatar billede Slettet bruger
19. maj 2011 - 18:10 #1
Glemte lige at nævne at jeg HAR bedt om permission..
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
Avatar billede Slettet bruger
19. maj 2011 - 20:25 #2
Got it myself. :-)
Avatar billede heinzdmx Nybegynder
19. maj 2011 - 22:44 #3
1. Ja, Service kan lukkes af taskkillere.
  - Generelt må det siges at taskillers på Android for folk der ikke har sat sig ind i hvordan systemet virker, med undtagelse af nogle programmer der starter en unødvendig service så bliver alt gemt væk og køres ikke, selvom processen er åben, hvis den ligger i baggrunden kører den ikke og bruger derfor ikke CPU-tid - kun hukommelse

2. Du skriver du har fundet ud af det, men hvad så med at skrive hvad løsningen er?
- Det ville jo komme andre til gode der finder tråden.
Avatar billede Slettet bruger
19. maj 2011 - 23:42 #4
Jeg ved faktisk ikke helt hvordan jeg løste det. Prøvede bare en masse ændring og så virkede det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester