-1

ユーザーがアプリケーションを強制終了した後、サービスが実行されているかどうかを確認したい。これどうやってするの。これは、broadcastReceiver の onReceive で行っています。ただし、強制的に閉じた後でも、Toast を実行しているサービスが表示されます。

   boolean isServiceRunning = AppSettings.getServiceRunning(context);       
    if (isServiceRunning)
    {
        Toast.makeText(context,"service running", Toast.LENGTH_LONG).show();

    } 
    else 
    {   
        Toast.makeText(context,"service stopped", Toast.LENGTH_LONG).show();        
    }
4

1 に答える 1

1

これを試して:

public boolean checkRunningService() {
        ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
        for (RunningServiceInfo myService : activityManager
                .getRunningServices(Integer.MAX_VALUE)) {
            if ("com.main.YOUR_SERVICE_NAME".equals(myService.service
                    .getClassName())) {
                return true;
            }
        }
        return false;
    }

お役に立てれば。

編集:-

マニフェスト ファイルのサービスは次のようになります。

<service
            android:name="com.main.YOUR_SERVICE_NAME"
            android:enabled="true" />
于 2013-04-12T11:51:28.730 に答える