首次尝试adb

时间:2016-08-06 05:47:04

标签: java android service broadcastreceiver autostart

我希望收到一个BOOT_COMPLETED意图操作,以便在启动后启动服务。它仅在第一次adb执行后才能工作(使用' am broadcast -a android.intent.action.BOOT_COMPLETED')。我的意思是当我重新启动手机时,接收器不起作用。 以下是我相关的代码部分......

的AndroidManifest.xml

    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/
    <receiver android:name=".AutoStart">
        <category android:name="android.intent.category.DEFAULT" />
        <intent-filter >
            <action android:name="android.intent.action.QUICKBOOT_POWERON" />
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    <activity android:name=".Hsap"></activity>
    <service android:enabled="true" android:name=".HsapService"></service>

自动启动

public class AutoStart extends BroadcastReceiver 
{
    @Override
    public void onReceive(Context arg0, Intent arg1) 
    {
        Log.d("AutoStart","Broudcast received");

        Intent intent = new Intent(arg0,HomasapService.class);
        arg0.startService(intent);
   }
}

服务,开始时间:

    @Override
    public void onStart(Intent intent, int startid)
    {

        Log.d("Service","Here");
        serverTask = new ServerTask();
        Thread serverThread = new Thread(serverTask);
        serverThread.start();
    }

有什么想法解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

我解决了这个问题。我的应用程序受到初创经理的限制!