2016-09-04 6 views
-2

Androidスタジオ(2.1.2)でサービスを使用しようとしていて、Log.i()を使用する必要がありますが、このエラーがあります。最大23文字です。今私はそれをいかに修正できるかわからない!ここでLog.i()を使用したときのエラー

は私のコードです:

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; 
    } 
} 

誰がどんな考えを持っています?

答えて

1

タグを短くしてください。本当にこのタグがログに必要ですか?

private static final String TAG ="MyService: ";

これは

+0

あなたはタグが何でもかまいません...私はアンドロイドの初心者ですが、感謝します。 – MarAnd

+0

@ M.dsタグは、あなただけのために、ログを読みやすくするために、どのクラス/アクティビティ/プロジェクトエラーの一部が検出されたか、または情報が出力されたことを検出できます –

1

ログタグは最大23文字

タグがあなたのLog.i()コールの最初のパラメータであることができます。それはTAGであり、com.example.n5110.intentと定義されています。それは24文字です。だから、あなたのTAG定数から1つ以上の文字を削除してください。

+0

十分なはずですが、私のパッケージ名は次のとおりです。com.example.n5110.intent、M.ds @ – MarAnd

+0

:タグは、パッケージ名である必要はありません。 – CommonsWare

+0

これは私のパッケージ名です。このパッケージ名では、前にLog.i()を使っていました。しかし、今は私にこのエラーを与えます。 – MarAnd

関連する問題