Ich habe ein Problem beim Starten eines Dienstes von einer anderen Android-App (API 17). Wenn ich jedoch "bin" aus der Shell ausführen, startet der Dienst gut.Wie starte ich Android-Dienst von einer anderen Android-App
# am startservice com.xxx.yyy/.SyncService
Starting service: Intent { act=android.intent.action.MAIN cat=
[android.intent.category.LAUNCHER] cmp=com.xxx.yyy/.SyncService }
(service starts fine at this point)
# am to-intent-uri com.xxx.yyy/.SyncService
intent:#Intent;action=android.intent.action.MAIN;
category=android.intent.category.LAUNCHER;
component=com.xxx.yyy/.SyncService;end
Also, es sieht nicht aus wie ich nichts von der Absicht fehlt bin, wenn ich das gleiche im Code tun:
Intent i = new Intent();
i.setAction(Intent.ACTION_MAIN);
i.addCategory(Intent.CATEGORY_LAUNCHER);
i.setComponent(new ComponentName("com.xxx.yyy", ".SyncService"));
ComponentName c = ctx.startService(i);
if (c == null) { Log.e(TAG, "failed to start with "+i); }
Was ich (der Dienst nicht ausgeführt wird dass Zeit):
E/tag(4026): failed to start with Intent {
act=android.intent.action.MAIN
cat=[android.intent.category.LAUNCHER]
cmp=com.xxx.yyy/.SyncService }
ich eine Intent-Filter nicht auf den Dienst haben, und ich will nicht, eine erstellen, ich versuche wirklich zu verstehen, was mache ich falsch es durch das Starten von seiner Komponentenname oder was es unmöglich machen könnte le zu tun.
siehe http://saigeethamn.blogspot.in/2009/09/android-developer-tutorial-part-9.html – Richa
@Richa Diese Seite hat Beispiele mit Intent.setClassName(), aber es ist nicht wirklich Beantworte meine spezifische Frage ... –
poste dein Manifest –