使用Log.i()时出错

时间:2016-09-04 14:53:17

标签: android

我试图在android studio(2.1.2)中使用服务,我需要使用Log.i(),但我有这个错误:日志记录标记最多可以包含23个字符。现在我不知道如何解决它!。

以下是我的代码:

package com.example.n5110.intent;

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

public class MyService extends Service {

private static final String TAG ="com.example.n5110.intent";
public MyService() {
}


@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    Log.i(TAG,"onStartCommand called");

    Runnable r = new Runnable() {
        @Override
        public void run() {
            for(int i = 0; i<5; i++){
                long futureTime = System.currentTimeMillis()+ 5000;
                while (System.currentTimeMillis() < futureTime){
                    synchronized (this){
                        try{
                            wait(futureTime - System.currentTimeMillis());
                            Log.i(TAG,"Service is busy");
                        }catch (Exception e){}
                    }
                }
            }
        }
    };
    Thread buckysThread = new Thread(r);
    buckysThread.start();
    return Service.START_STICKY;
}

@Override
public void onDestroy() {
    Log.i(TAG,"onDestroy called");
}

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

有没有人有任何想法?

2 个答案:

答案 0 :(得分:1)

  

日志记录标记最多可以包含23个字符

标记是Log.i()调用中的第一个参数。它是TAG,定义为com.example.n5110.intent。这是24个字符长。因此,请从TAG常量中删除1个以上的字符。

答案 1 :(得分:1)

只需缩短标签即可。你真的需要在日志中使用这个标签吗?

private static final String TAG ="MyService: ";

这应该足够了