2013-05-01 3 views
1

Я разработал приложение, которое работает в фоновом режиме, и я использовал IntentService для начала.Запуск приложения в фоновом режиме IntentService

Это мой код:

public class UsbService extends IntentService { 
    /** 
     * A constructor is required, and must call the super IntentService(String) 
     * constructor with a name for the worker thread. 
     */ 
     public UsbService() { 

      super("UsbService"); 

     } 



     /** 
     * The IntentService calls this method from the default worker thread with 
     * the intent that started the service. When this method returns, IntentService 
     * stops the service, as appropriate. 
     */ 

     @Override 
     protected void onHandleIntent(Intent intent) { 
      Log.e("why", "fofo"); 
      Toast.makeText(getApplicationContext(), "starting", Toast.LENGTH_LONG).show(); 


    // mNotification.notify(132, builder.build()); 
      // Normally we would do some work here, like download a file. 
      // For our sample, we just sleep for 5 seconds. 
     /* long endTime = System.currentTimeMillis() + 5*1000; 
      while (System.currentTimeMillis() < endTime) { 
       synchronized (this) { 
        try { 
         wait(endTime - System.currentTimeMillis()); 
        } catch (Exception e) { 
        } 
       } 
      }*/ 
     } 
} 

манифеста

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.servicesusb" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="12" 
     android:targetSdkVersion="16" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app`enter code here`_name" 
     android:theme="@style/AppTheme" > 

     <service android:name=".UsbService" > 

      </service> 
    </application> 

</manifest> 

Я хочу, чтобы запустить службу из оболочки ADB, так что я использовал эту команду

am startservice -n com.example.servicesusb/.UsbService 

... но сервис не запускается, и я не знаю проблемы

Помогите мне, пожалуйста!

ответ

0

если ваша служба существует, то он может быть запущен следующим образом

ADB оболочки утра StartService <packageofservice>

, если по-прежнему не работает, попробуйте разместить ошибку вы получили после того, как вы запустили эту команду

+0

нет ошибки, но когда я смотрю в paramte, я не нахожу, что у меня началось srvice – user2326926

+0

Итак, решение такое, я так думаю ..... У вас есть только сервис внутри вашего пакета, поэтому, когда ваш пакет установлен, на самом деле там нет звезды t, что сервис, поэтому его запуск через adb - это ваш единственный вариант, после чего вы сможете увидеть эту услугу в телефоне «Настройки»> «Приложения»/«Бег ............». Не используйте/в имени пакета, hv, используемый выше ... попробуйте только этот adb shell am launchervice com.example.servicesusb.UsbService вместо com.example.servicesusb/.UsbService – cafebabe1991

Смежные вопросы