我试图在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;
}
}
有没有人有任何想法?
答案 0 :(得分:1)
日志记录标记最多可以包含23个字符
标记是Log.i()
调用中的第一个参数。它是TAG
,定义为com.example.n5110.intent
。这是24个字符长。因此,请从TAG
常量中删除1个以上的字符。
答案 1 :(得分:1)
只需缩短标签即可。你真的需要在日志中使用这个标签吗?
private static final String TAG ="MyService: ";
这应该足够了