我想在安装应用程序时自动启动服务。启动后或设备启动后,服务正常运行。那么,安装应用程序后是否可以启动服务?
答案 0 :(得分:0)
谷歌显示正确的答案作为第一个打击所以...你有没有做过一些研究? How to start a Service when .apk is Installed for the first time
总结:你不能这样做。
答案 1 :(得分:0)
是的,通过收听已安装软件包的广播
是可能的这是你的广播
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>
希望它有所帮助;)
答案 2 :(得分:0)
Techanically当你的应用安装时,它无法启动服务。可以从Google Glass Development Kit开始。可以选择通过语音安装您的应用程序,也可以启动服务(语音触发命令)。
<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>