国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Problèmes liés à Android - Comment Android rend-il le service de la bibliothèque lib importée unique dans le système??
巴扎黑
巴扎黑 2017-05-16 13:21:35
0
1
673

Tout d'abord, j'ai une bibliothèque lib, qui définit un Service?:

<application
    android:allowBackup="true"
    android:label="@string/app_name"
    android:supportsRtl="true">
    <service
        android:name=".SharedService"
        android:process="com.lib.aidl.SharedService"
        android:enabled="true"
        android:exported="true">
    </service>
</application>

Maintenant, ajoutez deux applications qui ont introduit cette bibliothèque, puis les appelez dans leurs codes respectifs?:

startService(new Intent(context, SharedService.class))

Ce que je pense maintenant, c'est qu'il ne devrait y en avoir qu'un seul SharedService的實(shí)例,在進(jìn)程com.lib.aidl.SharedService dans le système.

Mais la situation réelle est qu'il existe deux SharedService的實(shí)例,它們都在進(jìn)程名為com.lib.aidl.SharedService processus, mais les identifiants de processus sont différents. pourquoi donc?

Je souhaite maintenant qu'une seule SharedService的實(shí)例,當(dāng)?shù)诙握{(diào)用startService時(shí)回調(diào)onStartCommandméthode apparaisse dans le système. Est-ce possible??

巴扎黑
巴扎黑

répondre à tous(1)
洪濤

android:process="com.lib.aidl.SharedService"

替換成

android:process=":com.lib.aidl.SharedService"

試試

注意,加了個(gè) ':'

Le nom du processus sur lequel le service doit être exécuté. Normalement, tous les composants d'une application s'exécutent dans le processus par défaut créé pour l'application. Il porte le même nom que le package de candidature. L'<application> L'attribut process de l'élément peut définir une valeur par défaut différente pour tous les composants. Mais le composant peut remplacer la valeur par défaut avec son propre attribut de processus, vous permettant ainsi de répartir votre application sur plusieurs processus.
Si le nom attribué à cet attribut commence par deux points (':'), un nouveau processus, privé de l'application, est créé lorsque cela est nécessaire et le service s'exécute dans ce processus. Si le nom du processus commence par un caractère minuscule, le service s'exécutera dans un processus global de ce nom, à condition qu'il en ait l'autorisation. Cela permet aux composants de différentes applications de partager un processus, réduisant ainsi l'utilisation des ressources.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal