Я являюсь нубом из Java, поэтому извините за вопрос о нубе ...
У меня есть флажок, который должен запускать сервис при проверке - убить его, когда не проверено.всплывающее окно «пытаюсь ...» появляется, как и ожидалось, но службы, похоже, не запускаются и не отображают всплывающее окно.
Вот мои основные записи, основной код активности (сокращенный) икод службы:
// manifest entries
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" >
<activity android:name=".MainMenu" android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name=".PPS" android:process=":remote" android:label="@string/service_name" />
</application>
// MainMenu.java
final CheckBox checkBoxStartService = (CheckBox) findViewById(R.id.checkBoxEnable);
checkBoxStartService.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if (checkBoxStartService.isChecked() == true)
{ // make toast
Toast toaster = Toast.makeText(MainMenu.this, "attempting to start service...", 500);
toaster.setGravity(Gravity.CENTER, 0, -200);
toaster.show();
Intent startPPS = new Intent();
startPPS.putExtra("com.domain.notlaunchingservice.PPS", false);
startService(startPPS);
}
if (checkBoxStartService.isChecked() == false)
{
Intent closePPS = new Intent();
closePPS.putExtra("com.domain.notlaunchingservice.PPS", true);
stopService(closePPS);
}
}
};
// PPS.java
package com.domain.notlaunchingservice;
import android.app.Service;
import android.view.Gravity;
import android.widget.Toast;
public abstract class PPS extends Service
{
@Override
public void onCreate()
{
Toast toasty = Toast.makeText(PPS.this, "service created!", 500);
toasty.setGravity(Gravity.CENTER, 0, 200);
toasty.show();
};
public void onDestroy()
{
Toast toasted = Toast.makeText(PPS.this, "service destroyed!", 500);
toasted.setGravity(Gravity.CENTER, 0, -200);
toasted.show();
};
};
Я также пытался вызвать службу, используя:
startService(new Intent(MainMenu.this, PPS.class));
, это возвращает ошибку на эмуляторе, когда приложение неожиданно завершает работу, и я нажимаю принудительно закрыть,основная деятельность не закрывается, поэтому я предполагаю, что это служба, которую я принудительно закрываю.ниже приведен вывод DDMS:
java.lang.RuntimeException: Unable to instantiate service com.domain.notlaunchingservice.PPS
Мне все равно, как запустить службу, если она может загрузить базу SQL и продолжить запись звука в файл после того, как основное действие потеряет фокус илизакрыт.
это будет бесплатное приложение на рынке, когда оно будет завершено, поэтому многие оценят вашу помощь, когда проект будет готов к прайм-тайм.
спасибо за чтение