2016-09-04 9 views
-2

Ich versuche, einen Dienst in Android Studio (2.1.2) zu verwenden, und ich muss Log.i() verwenden, aber ich habe diesen Fehler: Das Protokollierungstag kann sein höchstens 23 Zeichen. jetzt weiß ich nicht, wie ich es beheben kann!Ein Fehler bei der Verwendung von Log.i()

Hier sind meine Codes:

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

Hat jemand eine Idee ??

Antwort

1

Machen Sie Ihren Tag kürzer. Brauchen Sie dieses Tag wirklich in Protokollen?

private static final String TAG ="MyService: ";

Dies sollte

+0

du meinst das tag kann alles sein ... ich bin ein anfänger in android, aber danke. – MarAnd

+0

@ M.ds-Tag ist nur für Sie, um Protokolle lesbarer zu machen, so dass Sie erkennen können, in welcher Klasse/Aktivität/Teil des Projekts Fehler aufgetreten ist, oder Informationen gedruckt –

1

Der Logging-Tag kann maximal 23 Zeichen

sein Der Tag ist der erste Parameter in Ihrem Log.i() Anruf. Es ist TAG, definiert als com.example.n5110.intent. Das ist 24 Zeichen lang. Also, entfernen Sie 1 + Zeichen von Ihrer TAG Konstante.

+0

aber mein Paket genug sein Name ist: com.example.n5110.intent, – MarAnd

+0

@ M.ds: Der Tag ist nicht über Ihr Paket-Namen. – CommonsWare

+0

In diesem Fall ist es mein Paketname, und mit diesem Paketnamen habe ich vorher Log.i() benutzt. aber gerade jetzt gibt es mir diesen Fehler. – MarAnd

Verwandte Themen