2012-05-10 5 views
0

Как запустить фоновые службы с помощью широковещательного приемника. сделал одну услугу для работы камеры, но через некоторое время функция не работает. служба работает в устройствах Android. но метод обслуживания в onstartcommand не работает.Как запускать службы с помощью широковещательного приемника

used action.user_present, но не работает.

public class camerareceiver extends BroadcastReceiver{ 
public static String TESTACT_S = "android.intent.action.USER_PRESENT"; 
    @Override 
    public void onReceive(Context context, Intent intent) { 
    if(intent.getAction().equals(TESTACT_S)) 
     { context.startService(newIntent("com.simsys.camera.ServiceTemplate")); } } 
+0

Что такое проблема? Покажите соответствующий код и Logcat. –

+0

использовал action.user_present, но его не работает. Открытый класс camerareceiver расширяет BroadcastReceiver {public static String TESTACT_S = "android.intent.action.USER_PRESENT"; @Override public void onReceive (контекстный контекст, намерение намерения) {if (intent.getAction(). Equals (TESTACT_S)) {context.startService (новый Intent ("com.simsys.camera.ServiceTemplate")); }} в log cat no bug отображается. но при запуске службы камера работает вместо блокировки камеры. – user1345747

+0

Посмотрите, могут ли они помочь вам http://stackoverflow.com/questions/10329810/intent-action-user-present-not-received-on-honeycomb-or-ics-samsung-devices и http://stackoverflow.com/questions/8750854/bring-task-to-front-on-android-intent-action-user-present –

ответ

0

запуск услуги от BroadcastReceiver как:

public class CamReceiver extends BroadcastReceiver { 
@Override 
public void onReceive(Context context, Intent intent) { 
if (intent.getAction().equals(Intent.ACTION_USER_PRESENT)) { 
    Toast.makeText(context, "ACTION_USER_PRESENT", Toast.LENGTH_LONG).show(); 
context.startService(new Intent(context,ServiceTemplate.class)); 
} 
} 
} 

В манифесте:

<receiver android:name= ".CamReceiver"> 
      <intent-filter> 
      <action android:name="android.intent.action.USER_PRESENT"/> 
      </intent-filter> 
     </receiver> 
+0

использовал action.user_present, но его не работает. Открытый класс camerareceiver расширяет BroadcastReceiver { \t public static String TESTACT_S = "android. intent.action.USER_PRESENT "; @Override общественного недействительными OnReceive (Context контекст, Намерение намерение) { \t если (intent.getAction(). Равно (TESTACT_S)) { context.startService (новый Intent ("com.simsys.camera.ServiceTemplate «)); } } – user1345747

+0

видеть мой редактировать ответ или, если не разрешится, то опубликовать catlog StackTrace и код –

+0

com.simsys.camera.ServiceTemplate свой пакет или другое приложение? –

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