サービスがダウンロードされるとすぐに開始できるかどうかを尋ねる場合は、不可能です。アプリケーションが起動されていないときにコードを実行するにはどうすればよいですか?
編集:
あなたは、デバイスをブートした後にアプリを起動するために行うことができますすべてはあなたのマニフェストではインテントフィルタと受信を設定されています。
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service
android:name=".blablaService"
android:enabled="true"/>
<receiver android:enabled="true" android:name=".BootUpReceiver"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
</application>
BroadcastReceiver
もありますので、このクラスをソースに追加してください。
public class BootUpReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Intent i = new Intent(context, MainActivity.class); //MyActivity can be anything which you want to start on bootup...
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
これは、デバイスの更新で動作するかどうか、私は知りませんが、これはすべてのことが可能です。これは、デバイスの起動時にアプリケーションをポップアップします。
また、デバイスが更新されるとすぐにこれを行う必要がありますか?アプリの起動後、Androidのバージョンを確認できませんでした。次に、このバージョンをsharedPreferencesに保存します。次に実行するときは、現在のバージョンと保存されているバージョンを比較します。同じでない場合は、パッケージを更新してください。これは別の解決策になる可能性があります。
[アプリが実行されなかったときにAndroidサービスとブロードキャストを開始できるかどうか](http://stackoverflow.com/questions/32111094/is-it-possible-starting-android-service-and-broadcast) -when-app-did-not-run-befor) –
この質問は私に属していました:)それは別の状況です。私はコメント –