С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
ASDFD12
49 / 49 / 11
Регистрация: 15.09.2012
Сообщений: 496
#1

Intent для запуска приложения по имени пакета - Программирование Android

16.09.2016, 21:37. Просмотров 362. Ответов 0
Метки нет (Все метки)

Первичная задача сформировать нотификацию, по нажатии на которую запустится приложение из заданным именем пакета.
Java
1
2
3
4
5
6
7
        Intent intent = new Intent().
                setPackage(getPackageName()).
                setAction("android.intent.action.MAIN").
                addCategory("android.intent.category.LAUNCHER");
      
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
                PendingIntent.FLAG_ONE_SHOT);
Делаю так. Дальше этот интент передаю в NotificationCompat.Builder
Java
1
2
3
4
5
6
7
   NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this)
               .setSmallIcon(icon)
               .setContentTitle("FCM Message")
               .setContentText(messageBody)
               .setAutoCancel(true)
               .setSound(defaultSoundUri)
               .setContentIntent(pendingIntent);
И соответственно вызов
Java
1
2
3
4
 NotificationManager notificationManager =
                (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
 
       notificationManager.notify(0 /* ID of notification */, notificationBuilder.build());
Проблема в том, что при данном интенте не срабатывает вызов приложения по нажатию нотификакации. С указанием конкретного класса работает
Java
1
2
3
4
5
  Intent intent = new Intent().
                setPackage(getPackageName()).
                setAction("android.intent.action.MAIN").
                addCategory("android.intent.category.LAUNCHER").
                setClassName(getPackageName(), MainActivity.class);
Вопрос - как заставить запускаться приложения, зная только пакет приложения с главной активити?

Добавлено через 1 час 38 минут
нашел такое решение
Java
1
 Intent intent = getPackageManager().getLaunchIntentForPackage(getPackageName());
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.09.2016, 21:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Intent для запуска приложения по имени пакета (Программирование Android):

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] - Программирование Android
Выдает такую ошибку, хотя смартфон видит, он разрешает отладку, при запуске выдает такое сообщение, на самом экране смартфона при заходе в...

Не вызывается активность используя разный подход запуска Intent - Программирование Android
У меня таким образом: startActivity(new Intent(getActivity(), MainActivity.class)); getActivity().finish(); код переходит на...

Экспорт приложения для запуска на устройстве - Программирование Android
Хочу попробовать запустить приложение на устройстве, но после создания *.apk файла и копирования его в телефон, устройство его просто не...

Иконка запуска для приложения Андроид - Программирование Android
Как поставить свою иконку на приложение вместо стандартного от андроида?

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран - Программирование Android
При запуске приложения всё заканчивается на Starting: Intent { act=android.intent.action.MAIN cat= cmp=com.example.lab2/.MainActivity } ...

Добавить папку в середину имени пакета - Программирование Android
Всем привет! Столкнулся с интересной проблемой: надо сменить имя пакета, и все было бы не так плохо, если небыло бы необходимости...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.09.2016, 21:37
Привет! Вот еще темы с ответами:

Несколько фонов для приложения. Как загружать каждый по его номеру в имени файла - Программирование Android
Всем доброго вечера! Такая вот проблема: Мне нужно создать программу, которая при нажатии кнопки меняет фон. С кнопками я уже...

Eclipse, как изменить домен по умолчанию в имени пакета при создании проекта? - Программирование Android
При создании андроид проекта нужно указать имя пакета. По умолчанию там стоит com.example Можно ли изменить его на что-либо другое?

Разное имя пакета и приложения - Программирование Android
Импортировал проект. В манифесте указано название com.droidmatter.taskbear.app.MainActivity а в project explorer название MainActivity ....

Имя пакета приложения находящегося на переднем плане - Программирование Android
Добрый день. Мне нужно узнать какое приложение находится на переднем плане. Моё приложение работает в фоновом режиме. Как можно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.