没有应用程序首次运行如何启动Android服务?

时间:2016-03-03 13:05:24

标签: android service

我是android的新手。我有一个Android应用程序。它有一个服务应该在设备启动/重启/启动后运行。但是,如果没有用户启动应用程序,服务就无法启动。首次运行应用程序后,服务会在每次重新启动/启动/启动时正确启动。

我希望服务启动而不需要首先运行应用程序。那么,这是什么原因?我怎么能这样做?

这是在应用程序清单文件中注册的服务:

        <receiver android:name="com.example.ota_file.StartUpBootReceiver">
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

这是服务代码:

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;

public class StartUpBootReceiver  extends BroadcastReceiver{

    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {

            //TO DO
        }
    }
}

感谢。

1 个答案:

答案 0 :(得分:1)

谷歌在2.x天内做出的安全改变。除非应用程序中的活动至少运行一次,否则不会运行广播接收器,包括BOOT_COMPLETE。没有办法,应用程序必须至少运行一次活动才能从强制停止状态中删除。