1
A
回答
5
首先,你需要的許可,您的清單:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
此外,在您的清單,定義服務和監聽引導完成的動作:
<service android:name=".MyService" android:label="My Service">
<intent-filter>
<action android:name="com.myapp.MyService" />
</intent-filter>
</service>
<receiver
android:name=".receiver.StartMyServiceAtBootReceiver"
android:enabled="true"
android:exported="true"
android:label="StartMyServiceAtBootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
然後,你需要定義將獲得BOOT_COMPLETED操作並啓動服務的接收器。
public class StartMyServiceAtBootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent serviceIntent = new Intent("com.myapp.MySystemService");
context.startService(serviceIntent);
}
}
}
現在你的服務應該在手機啓動時運行。
0
下面是完整的工作示例代碼,
AndroidManifest.xml中
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.practice" android:versionCode="1" android:versionName="1.0">
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AutoStartExampleActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="AutoStart"></receiver>
<receiver android:name=".AutoStart">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
</application>
</manifest>
AutoStartExampleActivity文件
package com.practice;
import android.app.Activity;
import android.os.Bundle;
public class AutoStartExampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
廣播接收器代碼,
package com.practice;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class AutoStart extends BroadcastReceiver
{
public void onReceive(Context context, Intent intent)
{
System.out.println ("Application Started");
// put your TimerTask calling class here
try
{
Intent myIntent = new Intent (context, AutoStartExampleActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(myIntent);
}
catch (Exception e)
{
System.out.println (" Error while Starting Activity " + e.toString());
}
}
}
相關問題
- 1. 啓動應用程序在啓動時
- 2. 在啓動時啓動應用程序
- 3. 在應用程序啓動時啓動應用程序類
- 4. 在Windows啓動時啓動應用程序啓動
- 5. 計時器在應用程序啓動時自動啓動
- 6. 如何使用自動啓動在系統啓動時啓動應用程序?
- 7. 如何在Google Glass啓動時自動啓動應用程序?
- 8. 代碼自動在Windows啓動時啓動Java應用程序
- 9. 在啓動時自動啓動後最小化應用程序
- 10. 在應用程序啓動時自動啓動sidekiq(RoR)
- 11. 如何在Windows啓動時自動啓動應用程序?
- 12. 如何在應用程序啓動時自動啓動Delayed_Job?
- 13. 我的應用程序在啓動時不啓動移動
- 14. 僅在應用程序第一次啓動時啓動活動
- 15. 在RN系統啓動時自動啓動應用程序
- 16. 在啓動時在Ubuntu啓動時運行單聲道應用程序「啓動應用程序」
- 17. 在啓動/啓動時自動啓動應用程序的首選方法?
- 18. 在啓動Windows啓動後立即啓動Qt應用程序
- 19. 如何在應用程序啓動時「自動」啓用GPS?
- 20. 使用python3在mac osx啓動時啓動應用程序?
- 21. android啓動應用程序啓動時的相機活動或同時啓動
- 22. 在啓動應用程序時收到消息「無法啓動應用程序」
- 23. iPad:在應用程序啓動時啓動外部應用程序
- 24. 在啓動時啓動應用程序會使應用程序崩潰
- 25. Azure應用服務 - 啓動時彈出啓動應用程序
- 26. 啓動應用程序時啓動屏幕時應用程序已停止
- 27. 在應用程序啓動
- 28. 在啓動應用程序
- 29. 在應用程序啓動
- 30. 如何在應用程序啓動時啓動Android服務?