Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
ASDFD12
57 / 57 / 14
Регистрация: 15.09.2012
Сообщений: 542
#1

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

16.09.2016, 21:37. Просмотров 515. Ответов 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]
Выдает такую ошибку, хотя смартфон видит, он разрешает отладку, при запуске...

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

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

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

Starting: Intent { act=android.intent.action.MAIN. и пустой белый экран
При запуске приложения всё заканчивается на Starting: Intent {...

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

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

Как найти программу в PlayMarket по имени пакета?
Знаю имя пакета. Как можно найти программу в PlayMarket?

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

Eclipse, как изменить домен по умолчанию в имени пакета при создании проекта?
При создании андроид проекта нужно указать имя пакета. По умолчанию там стоит...

Разное имя пакета и приложения
Импортировал проект. В манифесте указано название...


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

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

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