2016-02-23 124 views
0

我應該爲我的服務類添加一個計時器,該計時器每10秒向LogCat打印一條消息。一旦我調用startService方法,服務類中的任何內容都不會打印,我不知道爲什麼。任何想法?服務不能正常工作

package com.murach.reminder; 

import android.content.Intent; 
import android.os.Bundle; 
import android.app.Activity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.Toast; 

public class ReminderActivity extends Activity implements OnClickListener { 

private Button startServiceButton; 
private Button stopServiceButton; 

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

    startServiceButton = (Button) findViewById(R.id.startServiceButton); 
    stopServiceButton = (Button) findViewById(R.id.stopServiceButton); 

    startServiceButton.setOnClickListener(this); 
    stopServiceButton.setOnClickListener(this); 
} 

@Override 
public void onClick(View v) { 
    Intent serviceIntent = new Intent(this, ReminderService.class); 
    switch (v.getId()) { 
     case R.id.startServiceButton: 
      // put code to start service and display toast here 
      startService(serviceIntent); 
      Toast.makeText(this, "Service started", Toast.LENGTH_SHORT).show(); 
      break; 
     case R.id.stopServiceButton: 
      // put code to stop service and display toast here 
      stopService(serviceIntent); 
      Toast.makeText(this, "Service stopped", Toast.LENGTH_SHORT).show(); 
      break; 
    } 
} 
} 

package com.murach.reminder; 

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

import java.util.Timer; 
import java.util.TimerTask; 

public class ReminderService extends Service 
{ 
private Timer timer; 

public void onCreate() 
{ 
    Log.d("Reminder", "Service created"); 
    startTimer(); 
} 

@Override 
public IBinder onBind(Intent intent) 
{ 
    Log.d("Reminder", "No binding for this activity"); 
    return null; 
} 

public void onDestroy() 
{ 
    Log.d("Reminder", "Service destroyed"); 
    stopTimer(); 
} 

private void startTimer() { 
    TimerTask task = new TimerTask() { 

     public void run() { 
      Log.d("Reminder", "Timer task executed"); 
     } 
    }; 

    timer = new Timer(true); 
    int delay = 1000 * 10; 
    int interval = 1000 * 10; 
    timer.schedule(task, delay, interval); 
} 

private void stopTimer() 
{ 
    if (timer != null) 
    { 
     timer.cancel(); 
    } 
} 
} 

這裏是我如何註冊清單中的服務(在服務元素,它不會讓我完全的類型吧)

android:name="com.murach.reminder.ReminderService" 

回答

0

package名稱不匹配。 Manifest聲明中的單詞murach中存在拼寫錯誤。

+0

哦哎呀。我解決了這個問題,但我仍然遇到同樣的問題。日誌中沒有任何東西出現 – Sam

相關問題