2016-08-31 4 views
0

Ich versuche, einen Dienst in meinem Android-Projekt zu erstellen.aber der Dienst scheint überhaupt nicht zu starten.Android Java-Dienst funktioniert nicht

package serviceexample.javatechig.com.serviceexample; 

import android.app.Service; 
import android.content.Intent; 
import android.os.IBinder; 
import android.util.Log; 

public class HelloService extends Service { 

    @Override 
    public void onCreate() { 
    } 

    @Override 
    public int onStartCommand(Intent intent, int flags, int startId) { 
     return Service.START_STICKY; 
    } 


    @Override 
    public IBinder onBind(Intent arg0) { 
     return null; 
    } 

    @Override 
    public void onDestroy() { 
    } 
} 

manifest.xml:

<service android:name="serviceexample.javatechig.HelloService" android:exported="false"/> 

und Haupttätigkeit:

package serviceexample.javatechig.com.serviceexample; 

import android.content.Intent; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 

public class MyActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_my); 

     findViewById(R.id.start_service).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MyActivity.this, HelloService.class); 
       startService(intent); 
      } 
     }); 

     findViewById(R.id.stop_Service).setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MyActivity.this, HelloService.class); 
       stopService(intent); 
      } 
     }); 
    } 
} 

keine Fehler, aber wenn ich die Tasten drücken wird der Dienst nicht bekommen started.onCreate und onStartCommand Ereignisse nicht erziehen.

+3

Mögliche Duplikate von [Warum startet dieser einfache Dienst nicht?] (http://stackoverflow.com/questions/4759676/why-is-this-simple-service-not-starting) – 0X0nosugar

+0

Blick auf die zweite Antwort: "Sehr wichtig: Schreiben Sie den Namen Raum richtig ..." – 0X0nosugar

+0

I ' m neu in java.do wissen Sie, wie lautet der richtige Name? –

Antwort

0

Sie verwenden den falschen Paketnamen in der AndroidManifest.xml

ersetzen:

serviceexample.javatechig.HelloService 

mit

serviceexample.javatechig.com.serviceexample.HelloService 

Grundsätzlich ist der Pfadname sollte für Service-Aktivitäten gleich sein und alle

+0

Lassen Sie mich es versuchen .. –

+0

funktioniert nicht. und nicht mit ".HelloService" arbeiten. Ich denke, es ist nicht die manifest.xml –

+0

haben Sie in der Manifest-Datei rechts, serviceexample.javatechig.HelloService ersetzt? –

0

Das Paket Ihre Service ist in:

package serviceexample.javatechig.com.serviceexample; 

Der Klassenname Sie im Manifest verwenden:

<service android:name="serviceexample.javatechig.HelloService" android:exported="false"/> 

Diese sollten für Service arbeiten, um gleich sein.

+0

Ich habe versucht, diese "serviceexample.javatechig.com.serviceexample.HelloService". funktioniert nicht –

0

Ich habe endlich das Problem gefunden. Das Service-Tag in manifest.xml war kein Kind des Application-Tags. Wenn ich die gesamte manifest.xml-Datei zeigte, würde das Problem in einer Minute auftreten :)