Запуск другого приложения из приемника вещания - PullRequest
2 голосов
/ 16 декабря 2011

Я пытаюсь запустить действие из приемника после загрузки устройства:

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName"));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_LAUNCHER); 
context.startActivity(intent);

Этот код просто отлично работает, когда я вызываю его из-за активности, однако происходит сбой, когда мой BroadcastReceiver выполняет его после загрузки. Мой Logcat показывает:

ActivityNotFoundException: Have you declared the activity in your AndroidManifest.xml?

Любые указатели будут с благодарностью. Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 16 декабря 2011

Intent intent = new Intent (context, activity.class);intent.addFlags (Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity (intent);

я думаю, что эти 3 строки нужны только, и контекст будет контекстом, который вы получаете в широковещательном приемнике.

0 голосов
/ 16 декабря 2011

Я думаю, что проблема в следующей строке. Как называется ваша активность? Это "ActivityName"? Также проверьте имя пакета.

intent.setComponent(ComponentName.unflattenFromString("other.apps.package.name/.ActivityName"))
0 голосов
/ 16 декабря 2011

Вы, вероятно, написали или допустили ошибку, когда объявили свою активность в манифесте. Убедитесь, что вы положили его туда и все правильно написали

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...