Services

IntentService - запускаСтся Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ (=> позволяСт Π΄Π΅Π»Π°Ρ‚ΡŒ сСтСвыС запросы)

Service - Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² Π³Π»Π°Π²Π½ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅

Intro

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π² background Как BroadcastReceivers ΠΈ Activities, Services ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Ρ‹ внСшними прилоТСниями => Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Ρ‹ permissions ΠΈ Ρ„Π»Π°Π³Π°ΠΌΠΈ export.

Example

ОбъявлСниС:

<permission android:name="com.example.mypermission" 
            android:label="my_permission" 
            android:protectionLevel="dangerous">
</permission>
<service android:name="com.example.MyService" 
         android:permission="com.example.mypermission">
    <intent-filter>
         <action android:name="com.example.MY_ACTION" />
    </intent-filter>
</service>

Ex: https://startandroid.ru/ru/uroki/vse-uroki-spiskom/157-urok-92-service-prostoj-primer.html

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска:

Intent intent = new Intent(this, SomeService.class);
intent.setData(someData);
startService(intent);

ΠΈΠ»ΠΈ
Intent intent = new Intent();
intent.setAction(Intent.SOME_ACTION);
intent.putExtra(Intent.EXTRA_TEXT, "some message");
startService(intent);

Запуск со стороны Android

ВсС Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ сСрвисы ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π½ΠΈΠΌ:
$ adb shell dumpsys activity services

Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сСрвис Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΠΎΠ·Π΅Ρ€:
$ run app.service.start --action <action> --component <package> <service>
вмСсто <action> ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ <service>

БообщСния (--msg) - это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ 3 Ρ†ΠΈΡ„Ρ€Ρ‹ Ρ…Π· для Ρ‡Π΅Π³ΠΎ

Last updated

Was this helpful?