Size: a a a

Android Developers

2021 January 18

l

l|v|l in Android Developers
Ребят, не могу разобраться. Как мне в манифесте расположить блоки <activity> и <receiver>, что б компилятор не жаловался?

Мне в активити нужно положить это (нужно, дабы при запуске приложения консоль выдает ошибку, мол не найдена основная задача для выполнения 'Could not identify launch activity: Default Activity not found
Error while Launching activity'):
        <activity
           android:name=".ServiceReceiver"
           android:label="@string/app_name">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>

А в <receiver> мне нужно вставить это:
<receiver android:name=".ServiceReceiver" >
<intent-filter>
   <action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>


Но компилятор жалуется на ресивер, если я пытаюсь его загнать на дочерний уровень активити. Поэтому я спрашиваю, как должны быть расположены тэги <activity> и <receiver> относительно друг друга в манифесте?
источник

l

l|v|l in Android Developers
l|v|l
Ребят, не могу разобраться. Как мне в манифесте расположить блоки <activity> и <receiver>, что б компилятор не жаловался?

Мне в активити нужно положить это (нужно, дабы при запуске приложения консоль выдает ошибку, мол не найдена основная задача для выполнения 'Could not identify launch activity: Default Activity not found
Error while Launching activity'):
        <activity
           android:name=".ServiceReceiver"
           android:label="@string/app_name">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>

А в <receiver> мне нужно вставить это:
<receiver android:name=".ServiceReceiver" >
<intent-filter>
   <action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>


Но компилятор жалуется на ресивер, если я пытаюсь его загнать на дочерний уровень активити. Поэтому я спрашиваю, как должны быть расположены тэги <activity> и <receiver> относительно друг друга в манифесте?
источник

QH

Quantum Harmonizer in Android Developers
l|v|l
Ребят, не могу разобраться. Как мне в манифесте расположить блоки <activity> и <receiver>, что б компилятор не жаловался?

Мне в активити нужно положить это (нужно, дабы при запуске приложения консоль выдает ошибку, мол не найдена основная задача для выполнения 'Could not identify launch activity: Default Activity not found
Error while Launching activity'):
        <activity
           android:name=".ServiceReceiver"
           android:label="@string/app_name">
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>

А в <receiver> мне нужно вставить это:
<receiver android:name=".ServiceReceiver" >
<intent-filter>
   <action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>


Но компилятор жалуется на ресивер, если я пытаюсь его загнать на дочерний уровень активити. Поэтому я спрашиваю, как должны быть расположены тэги <activity> и <receiver> относительно друг друга в манифесте?
он «жалуется» не потому что дурак, он что-то сказать пытается
источник

QH

Quantum Harmonizer in Android Developers
вытащи ресивер из активити
источник

DA

Dmitry Alekseyevich in Android Developers
Привет всем. Подскажите пожалуйста, у меня есть главный фрагмент с viewPager'ом. В пейджере 2 фрагмента. До этого было корнем активити и был интерфейс, для взаимодействия фрагмента с активити. Сейчас я вместо активити сделал фрагмент, но логика осталась та же. Столкнулся с проблемой, что он пытается прикастить контекст. Я знаю, что у фрагмента его нет. Как можно обработать этот кейс?
источник

l

l|v|l in Android Developers
Quantum Harmonizer
вытащи ресивер из активити
Но в таком случае у них будет одинаковый атрибут android:name = 'ServiceReceiver'
источник

СП

Сергей П. in Android Developers
l|v|l
Но в таком случае у них будет одинаковый атрибут android:name = 'ServiceReceiver'
Значит должны быть разные.
источник

D

Denis in Android Developers
l|v|l
Но в таком случае у них будет одинаковый атрибут android:name = 'ServiceReceiver'
а какого хрена у тебя активити и сервис одним классом помечены?
источник

СП

Сергей П. in Android Developers
Лаунч - активности.
А рествер сам по себе
источник

l

l|v|l in Android Developers
То есть, у меня должен быть класс, который будет запускать при лаунче, и он будет дергать другие классы, чтобы они начали работать?
источник

l

l|v|l in Android Developers
Задам вопрос по-другому. Допустим я щас создам класс MainActivity, который и будет запускаться при лаунче. Но что этот класс должен делать тогда?
источник

D

Denis in Android Developers
l|v|l
Задам вопрос по-другому. Допустим я щас создам класс MainActivity, который и будет запускаться при лаунче. Но что этот класс должен делать тогда?
он будет делать то, что ты ему скажешь сделать. сформулируй вопрос точнее. тебе нужно приложение без ui, чисто чтобы сервис работал?
источник

l

l|v|l in Android Developers
Denis
он будет делать то, что ты ему скажешь сделать. сформулируй вопрос точнее. тебе нужно приложение без ui, чисто чтобы сервис работал?
Да, именно. UI никакого не требуется(хотя в идеале можно было бы сделать UI тупо с одной перемычкой вкл/выкл), и сервис должен работать в фоновом режиме постоянно
источник

С

Сергей in Android Developers
При дессерелизации "games" успешно превращается в enum GAMES, а вот при сериализации GAMES становится "GAMES". Retrofit + Gson, может кто сталкивался.
На StackOverflow сказано, что этот баг пофикшен ещё в 14 году
https://stackoverflow.com/questions/25423590/enum-annotations-in-kotlin
источник

D

Denis in Android Developers
l|v|l
Да, именно. UI никакого не требуется(хотя в идеале можно было бы сделать UI тупо с одной перемычкой вкл/выкл), и сервис должен работать в фоновом режиме постоянно
ну, сделай активити, где будет этот свитч, и включай/выключай сервис из него. если хочешь все-таки без активити - гугли service-only app
источник

l

l|v|l in Android Developers
Denis
ну, сделай активити, где будет этот свитч, и включай/выключай сервис из него. если хочешь все-таки без активити - гугли service-only app
То есть тэга активити у меня и вовсе может не быть? (В случае без UI?)
источник

D

Denis in Android Developers
l|v|l
То есть тэга активити у меня и вовсе может не быть? (В случае без UI?)
по-моему раньше можно было. сейчас не уверен. в любом случае, можно использовать костыльное решение. открывай активити без какого-либо setContentView, или с прозрачным контентом. активити открывается, запускаешь сервис, закрываешь активити. но это костыль. я хз, можно ли сейчас сделать service-only приложение.  надеюсь, меня поправят, если не прав)
источник

l

l|v|l in Android Developers
Понял. Всем спасибо)
источник

D

Denis in Android Developers
l|v|l
Понял. Всем спасибо)
https://stackoverflow.com/a/10909723/13278776
тут советуют как раз мой костыльный способ. можешь погуглить еще. но это точно будет работать. хоть и не красиво)
источник

D

Denis in Android Developers
ну а вообще сделай активити со свичом и не парься
источник