-1

这里是代码:

public class MyServeice extends Service 
{
    private Timer pushTimer;
    private final int NOTEF_ID = 1234;
    NotificationManager manager;

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

    @Override
    public void onCreate() 
    {
        Log.i("MyActivity", "1");
        //pushTimer = new Timer();
        manager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
    }

    @Override
    public void onDestroy() 
    {
        Log.i("MyActivity", "2");
        //pushTimer.cancel();
    }

    @Override
    public void onStart(Intent intent, int startid) 
    {
        Log.i("MyActivity", "3");
        //pushTimer.schedule(new TimerTask()
        //{
        //  @Override
        //  public void run() 
        //  {
                Notification not = new Notification(R.drawable.ic_launcher, "Custom notification", System.currentTimeMillis());
                PendingIntent notIntent = PendingIntent.getActivity(this , 0, new Intent(this, MainActivity.class), 0);
                not.setLatestEventInfo(this,  "Title", "Text", notIntent);
                manager.notify(NOTEF_ID, not);
                manager.cancel(NOTEF_ID);
        //  }
        //}, 0L, 60L * 1000);
    }

}

我尝试从我的 MainActivity 活动类开始它(在我认为问题出在计时器之前,但现在我评论它)。此处开始代码:

startService(new Intent(this, MyServeice.class));

没有显示来自服务类的日志,所以我决定根本没有启动服务。应用程序不会崩溃并正常启动。你能检查我的代码吗?

4

3 回答 3

0

使用此方法:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {}

这是关于服务的好教程:点击这里!

于 2013-01-21T13:01:42.860 回答
0

你在MyService类中犯了一个错误

你用

 @Override
 public void onStart(Intent intent, int startid) 

& 在服务生命周期中没有 onStart(..) 方法

试试这个方法而不是上面的

  @Override
  public int onStartCommand(Intent intent, int flags, int startId) 

编辑:

&第二个你必须在清单文件中声明服务,比如:

<manifest ... >
  ...
  <application ... >
      <service android:name=".MyServeice" />
      ...
  </application>
</manifest>

有关服务的更多信息,请参阅此文档 http://developer.android.com/guide/components/services.html

于 2013-01-21T12:53:12.813 回答
-2

问题关闭。将有关我的服务类的信息添加到清单中解决了我的问题。

于 2013-01-21T13:01:58.417 回答