2017-08-02 22 views
0

私はアプリケーションでロックステータスバーを使用しています。すぐに起動時にサービスを起動するjava android

このサービスは粘着性があると2-5秒後

しかし、私のサービス開始を開始し、(ブート起動時に)actived起動時に実行します。

この時間を短縮できますか?

+0

あなたがすることはできません。システムはプロセスを管理しています。 –

+0

方法はありません。あなたはあなたのサービスがいつ始まるかを制御しません。 –

+0

@VladMatvienko bootですぐに始まる多くのアプリがあります。このアプリの仕組みは? –

答えて

-1
public class BroadcastReceiverOnBootComplete extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context context, Intent intent) { 
     if (intent.getAction().equalsIgnoreCase(Intent.ACTION_BOOT_COMPLETED)) { 
      Intent serviceIntent = new Intent(context, AndroidServiceStartOnBoot.class); 
      context.startService(serviceIntent); 
     } 
    } 
} 

サービス

import android.app.Service; 
import android.content.Intent; 
import android.os.IBinder; 

public class AndroidServiceStartOnBoot extends Service { 

    @Override 
    public IBinder onBind(Intent intent) { 
     return null; 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     // here you can add whatever you want this service to do 
    } 

} 

のAndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission> 

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

    <service android:name=".AndroidServiceStartOnBoot"></service> 
+0

私はそれを知っていました。起動時にすぐにサービスを実行する必要があります。 –

+0

質問をお読みください。 –

+0

@VladMatvienkoはい、起動時にすぐにサービスを実行する必要があるので注意してください。 –

関連する問題