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