自动启动服务时安装到设备应用[复制](Start a service automatically w

2019-10-21 04:55发布

这个问题已经在这里有一个答案:

  • 如何当的apk安装了第一次启动服务 10个答案

我要在安装应用程序时自动启动的服务。 服务一推出后即或设备启动后正常工作。 那么,是不是可以安装应用程序后,推出的服务?

Answer 1:

谷歌给出了正确的答案,因为第一次打这样......你做了一些这方面的研究? 如何当的apk安装了第一次启动服务

总结:你不能做到这一点。



Answer 2:

是的,它可以通过监听安装的软件包的广播

这是你的广播

public class InstallBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        String action = null;
        if (intent != null) {
            action = intent.getAction();
        }

        if (action != null && Intent.ACTION_PACKAGE_ADDED.equals(action)) {
            String dataString = intent.getDataString();
            if (dataString != null
                    && dataString.equals(YOUR_PACKAGE_NAME)) {

                //Launch your service :)
            }
        }
    }
}

这是您的清单

<receiver
        android:name=".InstallBroadcastReceiver"
        android:enabled="false"
        android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_ADDED"/>
        <data android:scheme="package"/>
    </intent-filter>
</receiver>

希望能帮助到你 ;)



Answer 3:

Techanically这是不可能启动服务时,您的应用程序安装。 这是可能的开始与谷歌眼镜开发套件。 有选择通过语音来安装你的应用程序,也可以启动服务(语音触发命令)。

 <service
            android:name="com.est.poc.glass.service.POCGlassService"
            android:enabled="true"
            android:exported="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="com.google.android.glass.action.VOICE_TRIGGER" />
            </intent-filter>
            <!-- Voice command found in res/xml/voice_trigger_start -->
            <meta-data
                android:name="com.google.android.glass.VoiceTrigger"
                android:resource="@xml/voice_trigger_start" />
            <meta-data
                android:name="com.google.android.glass.voice_trigger"
                android:resource="@string/voice_trigger_title" />
        </service>


文章来源: Start a service automatically when app installed to device [duplicate]