从 adb 首次尝试后,引导完成无法正常工作
Boot completed is not working after first attempt from adb
我想接收 BOOT_COMPLETED 意图操作以便在启动后启动服务。它仅在第一次执行 adb 后起作用(使用 'am broadcast -a android.intent.action.BOOT_COMPLETED')。我的意思是当我重新启动 phone 时,接收器不工作。
这是我的相关代码部分...
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();
}
有解决问题的办法吗?
我解决了这个问题。我的应用程序被启动管理器限制了!
我想接收 BOOT_COMPLETED 意图操作以便在启动后启动服务。它仅在第一次执行 adb 后起作用(使用 'am broadcast -a android.intent.action.BOOT_COMPLETED')。我的意思是当我重新启动 phone 时,接收器不工作。 这是我的相关代码部分...
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();
}
有解决问题的办法吗?
我解决了这个问题。我的应用程序被启动管理器限制了!