Autoboot av app och/eller service

Diskussion i 'Frågor, support och diskussion' startad av fpersson, 17 jun 2011.

  1. fpersson

    fpersson Infant Droid Medlem

    Blev medlem:
    16 jun 2011
    Inlägg:
    5
    Mottagna gillanden:
    0

    MINA ENHETER

    Hej, jag sitter och försöker autostarta en service, men får det inte att fungera. Jag har googlat runt och hittat massor av exempel, men inga har varit kompletta eller fungerat för mig. Det bästa exemplet jag har hittat är http://blog.gregfiumara.com/archives/82 men inte ens det får jag att fungera. Följande kod är klippt och klistrad från förgående länk, men fungerar ej. Har jag missat något eller missuppfattat något?

    Manifest:
    HTML:
    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.ssab"
          android:versionCode="1"
          android:versionName="1.0">
        <uses-sdk android:minSdkVersion="8" />
        <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
    
        <application android:icon="@drawable/icon" android:label="@string/app_name">
            <service android:name="StartAtBootService">
    			<intent-filter>
    				<action android:name="com.example.ssab.StartAtBootService">
    				</action>
    			</intent-filter>
    		</service>
    		<receiver android:name="StartAtBootServiceReceiver">
    			<intent-filter>
    				<action android:name="android.intent.action.BOOT_COMPLETED">
    				</action>
    				<category android:name="android.intent.category.HOME">
    				</category>
    			</intent-filter>
    		</receiver>
        </application>
    </manifest>
    StartAtBootServiceReceiver.java
    Kod:
    package com.example.ssab;
    
    import android.content.BroadcastReceiver;
    import android.content.Context;
    import android.content.Intent;
     
    public class StartAtBootServiceReceiver extends BroadcastReceiver 
    {
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                Intent i = new Intent();
                i.setAction("com.example.ssab.StartAtBootService");
                context.startService(i);
            }
        }
    }
    StartAtBootService.java
    Kod:
    package com.example.ssab;
    import android.app.Service;
    import android.content.Intent;
    import android.os.IBinder;
    import android.util.Log;
     
    public class StartAtBootService extends Service 
    {
            public IBinder onBind(Intent intent)
            {
                return null;
            }
     
            @Override
            public void onCreate() 
            {
                Log.v("StartServiceAtBoot", "StartAtBootService Created");
            }
     
            @Override
            public int onStartCommand(Intent intent, int flags, int startId) 
            {
                Log.v("StartServiceAtBoot", "StartAtBootService -- onStartCommand()");          
     
                // We want this service to continue running until it is explicitly
                // stopped, so return sticky.
                return START_STICKY;
            }
            
            @Override
            public void onDestroy() 
            {
                Log.v("StartServiceAtBoot", "StartAtBootService Destroyed");
            }
    }
    Tack på förhand.

    //Fredrik
     
  2. Adam2

    Adam2 Adult Droid Medlem

    Blev medlem:
    26 jul 2010
    Inlägg:
    732
    Mottagna gillanden:
    55

    MINA ENHETER

    Något i LogCat? Hur testar du koden? Emulatorn ger inga events så du måste testa på en riktig telefon har jag för mig...
     
  3. JerryJ

    JerryJ Youth Droid Medlem

    Blev medlem:
    5 jul 2010
    Inlägg:
    170
    Mottagna gillanden:
    2

    MINA ENHETER

    Skall det inte vara "android.intent.category.DEFAULT" istället för "android.intent.category.HOME"