Как вы можете видеть . Он правильно называется правильно с дополнительными функциями Intent . Но я оглядывался, и я смущен тем, нужен ли мне тот или нет? У меня есть метод setAction() , который вызывается в моем Intent , но чтобы сделать его уникальным для других, чтобы обеспечить конкретную проблему с уведомлениями, а не использовать эту строку действий. Но что такое корреляция? Спасибо заранее.
Intent intent = new Intent(this.getContext(), AlarmReceiver.class);
intent.setAction(«com.something»+System.currentTimeMillis());
//. extras are here
PendingIntent pi = PendingIntent.getBroadcast(this.getContext(), 123, intent, PendingIntent.FLAG_CANCEL_CURRENT|Intent.FILL_IN_DATA);
AlarmManager alarm = (AlarmManager)getContext().getSystemService(Activity.ALARM_SERVICE);
alarm.set(AlarmManager.RTC_WAKEUP, time.getTimeInMillis(), pi);
Использование этого с тем, что у меня есть в файле манифеста, работает.
ИЗМЕНИТЬ
Я нашел это в блоге разработчиков Android, и он утверждает следующее:
Android: Урок 17. Intent Filter, Явный и Неявный вызов Activity
Неявные намерения указывают только «что» они должны соответствовать, используя действия, категории, данные,
MIME и т.д. Точные компоненты, которые они найдут, определяются только при
во время выполнения диспетчера пакетов, сопоставляя его с текущими приложениями.
Явные намерения указывают один явный «кто», с которым они должны совпадать, через
ComponentName. Независимо от того, что еще находится в намерении, оно связано только с
точное имя пакета и имя класса, как указано в его ComponentName.
Я все еще немного смущен этим объяснением, но, похоже, это самое близкое к тому, что я должен делать. Поэтому я уверен, что использую неявное намерение. Вопрос в том, нормально ли я оставляю ? Я сопоставляю его с определенным классом. Может быть, не существует фактического действия, связывающего их вместе, perse, но достаточно ли этого класса?
спросил(а) 2012-07-18T03:35:00+04:00 10 лет, 5 месяцев назад
Источник: progi.pro
Android: ошибка проверки фильтра намерений
Моя цель состоит в том, чтобы Android автоматически открывал любую ссылку, начинающуюся с test.touchwonders.com в моем приложении. У меня есть необходимый файл на моем сервере: https://test.touchwonders.com/.well-known/assetlinks.json
Это соответствующая часть моего манифеста:
Однако при установке приложения это вывод, который я вижу в logcat:
06-27 09:48:43.267 6488-6488/? D/IntentFilterVerRcvr: Received ACTION_INTENT_FILTER_NEEDS_VERIFICATION. 06-27 09:48:43.276 6488-8080/? I/IntentFilterIntentSvc: Verifying IntentFilter. verificationId:14 scheme:»https» hosts:»test.touchwonders.com www.test.touchwonders.com» package:»com.justbrands.highstreet.pmelegend.acceptance». 06-27 09:48:43.531 6488-8080/? I/IntentFilterIntentSvc: Verification 14 complete. Success:false. Failed hosts:test.touchwonders.com,www.test.touchwonders.com.
Урок 22. Что такое Intent, Intent Filter, Context
Мое устройство использует прокси-сервер Charles, который позволяет вам видеть запросы. Я не вижу сложных запросов на test.touchwonders.com. Я использовал adb shell pm clear com.android.statementservice перед установкой, которая должна была очистить кеш и принудительно выполнить повторную выборку json.
Источник: www.stackfinder.ru
Знакомство с Android Intent. Запуск Activity с помощью Intent
В этом Android уроке мы углубимся в изучение основ и познакомимся с таким полезным Android-механизмом как Intent, а именно что это такое, зачем оно и как его использовать.
Что такое Intent в Android?
Android Intent (возможен еще дословный вариант перевода, как «Намерение», однако я предпочитаю использовать слово в оригинале Intent или читать как «интент»). И так, Intent представляет собой структуру данных, содержащую описание операции, которую следует выполнить.
Одна из наиболее мощных функций Intent механизма в том, что вы можете асинхронно отправить сообщения другим Activity (активностям) или сервисам.
В этом уроке мы сделаем акцент на типах и обработке Android Intent (намерений).
Типы Android Intent
- Явное намерение ( Explicit intent ) явно определяет компонент по имени. Чаще всего в наших приложениях мы будем использовать явное намерение для запуска какого-то компонента. Суть Explicit intent в том, что вы знаете имя класса Activity или Service (сервиса), который нужно запустить. При использовании явного намерения система немедленно запускает компонент приложения, указанный в объекте Intent.
- Неявное намерения ( Implicit intent ) не определяет конкретный компонент, а просто заявляет о некотором действии, позволяя компонентам других приложений его обработать. При создании неявного намерения Android система находит все возможные компоненты, которые могут обрабатывать заявленное действие, и предлагает выбрать одно из найденного списка.
Как использовать Android Intent для запуска Activity?
Чтобы создать объект Intent и запустить с помощью него Activity, нужно в параметрах передать объект-Activity класса, который вызывает и имя Activity, которое нужно запустить:
Intent i = new Intent(FromActivity.this, ToActivity.class);
startActivity(i);
Запуск Activity под именем ToActivity.class будет происходить в таком порядке:
- Создание нового экземпляра класса ToActivity.class
- Этот экземпляр помещается на вершину стека текущих операций
- Активити ToActivity.class появляется на экране.
Используем флаги в намерениях (Android Intent Flags)
Определенные в объекте Intent флаги играют роль метаданных. Они используются Android системой в качестве руководство по запуску и обработке этих самых намерений.
Изменить поведение объектов Intent можна с помощью указания флагов (методом addFlag()) перед вызовом метода startActivity(Intent), например:
intent.addFlag(Intent.FLAG_ACTIVITY_SINGLE_TOP);
Это значит, что переданная в объект Intent активность не будет запущенна, если в стеке работающих тасков уже есть такая Activity.
Работа с Intent на примере запуска одной активности из другой
Давайте создадим новый проект для работы с Intent. В данном случае нас устроит простой проект Hello Android. Работать мы будем в Android Studio. Если вы не знакомы с ней, то используйте любую удобную вам IDE.
После создания ваш проект должен примерно выглядеть так:
Этот проект состоит из двух Activity: MainActivity.java и DetailsActivity.java. Мы будем запускать активность DetailsActivity из MainActivity .
Для запуска активности нам нужна кнопка, по нажатию которой будет происходить создание намерения и запуск Activity.
Код MainActivity будет такой:
package ua.com.prologistic.intentsproject;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity
private Button mButton;
Макет activity_main.xml будет таким:
Код DetailsActivity будет такой:
package ua.com.prologistic.intentsproject;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
Макет activity_details.xml следующий:
Файл конфигураций AndroidManifest.xml будет иметь такой вид:
Создайте эти файлы и запустите приложение. При запуске оно будет выглядеть так:
Источник: dzen.ru
android — как — intent filter verification service что это
Android Studio-приложение не установлено на телефон, но работает (3)
Вы должны добавить категорию LAUNCHER и действие MAIN в свою MainActivity :
android_name=».activity.MainActivity» android_windowSoftInputMode=»adjustResize»> android_name=»android.intent.action.VIEW»/> android_name=»android.intent.action.MAIN»/> android_name=»android.intent.category.DEFAULT»/> android_name=»android.intent.category.BROWSABLE»/> android_name=»android.intent.category.LAUNCHER»/> android_scheme=»http» android_host=»www.eda.kent.ac.uk» android_pathPrefix=»/school/»/>
Я использую Android Studio для запуска моего приложения на своем телефоне, и он работает нормально. Но само приложение никогда не установлено . В нем нет значка. Я должен «запускать» в любое время, когда хочу проверить свое приложение. У меня нет ошибок.
Я считаю, что есть проблема с моим манифестом. Что я делаю неправильно здесь ?:
У меня была та же проблема, потому что андроид-студия не вложила эту зависимость в файл build.gradle:
compile ‘com.android.support:support-v4:23.3.0’
Не используйте файл direct debug-apk для установки вручную. Если вы хотите установить вручную, скопировав файл APK в хранилище,
- Удалить автоматически сгенерированный файл APK, расположенный в /app/build/outputs/apk/debug/app-debug.apk
- Нажмите « Menu > Build > Build APK(s) . Это создает отладочную APK для вас.
Я использую Android Studios 3.0 Beta 7. Это работает для меня.
Источник: code-examples.net