我是新來的android.Is服務在Android是自動啓動當移動開關??如果是的,這是偉大的。如果沒有任何人可以解釋我該如何啓動特定的服務?服務是自動啓動的
服務是自動啓動的
回答
後設備沒有啓動,服務不會自動開始添加下面的代碼。但你可以開始服務註冊一個android.intent.action.BOOT_COMPLETED當設備啓動完成如:
的AndroidManifest.xml:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED">
</uses-permission>
<receiver android:name=".BootReceiver" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</receiver>
BootReceiver.java:
public class BootReceiver extends IntentReceiver
{
static final String ACTION = "android.intent.action.BOOT_COMPLETED";
public void onReceiveIntent(Context context, Intent intent)
{
if (intent.getAction().equals(ACTION))
{
context.startService(new Intent(context,YourService.class));
}
}
}
快6秒吧。 :) –
在基於用戶的應用程序服務沒有啓動自動
你需要
<receiver android:name="com.wallpaper.StartReceiver" xmlns:android="#unknown">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
請你可以詳細解釋.. – user1716119
你可以開始你的服務startService(intent)
要在清單文件
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
在手機重啓運行
添加下列權限並申報了Broadcast Receiver
像
<receiver android:name=".BootReceiver"
android:label="BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
然後
public class BootReceiver extends BroadcastReceiver {
private static final String TAG="BootReceiver";
@Override public void onReceive(Context context,Intent intent){
try{
context.startService(new Intent(context,yourServiceName.class));
Log.i(TAG,"Starting Service yourServiceName");
}catch(Exception e){
Log.e(TAG,e.toString());
}
}
}
你最好從這裏 http://www.vogella.com/articles/AndroidBroadcastReceiver/article.html
廣播接收器是一個Android組件,它允許爲系統或應用程序事件一旦Android的負載可達註冊(你的情況ACTION_BOOT_COMPLETED)
閱讀廣播接收器的東西它會播放一條消息,說明啓動已完成,並且所有註冊爲接收該事件的應用程序都將收到該消息,並且您可以執行自己的操作...
可以使用以下代碼將其添加到清單文件
<receiver android:name="some_pagacakge_name" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
這裏有一些鏈接,它 http://www.grokkingandroid.com/android-tutorial-broadcastreceiver/
它取決於你的要求,你想要什麼樣的服務開始,當你想啓動該服務。如果您想在啓動時啓動特定服務,則必須按照Devangi Desai提到的方式註冊接收者,然後您需要發出startService()
方法。
public class Receiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String intentAction = intent.getAction();
if (intentAction.equals(Intent.ACTION_BOOT_COMPLETED))
context.startService(new Intent(context,
ConnectionService.class));
}
}
這裏ConnectionService.class
是擴展服務和實現服務的類。
它們不會自動啓動,除非您在清單中明確定義它們應該在啓動時啓動。爲此,您需要在您的清單文件中添加動作
<action android:name="android.intent.action.BOOT_COMPLETED" />
您的服務的清單文件中。
例如:
<receiver android:name="MyStartupIntentReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
</receiver>
</receiver>
請閱讀更詳細的信息,關於服務這個官方指南: https://developer.android.com/guide/components/services.html
- 1. 服務是否自動啓動?
- 2. 自動啓動服務時,windows啓動
- 3. 自動服務不啓動
- 4. 何時啓動的服務不是啓動的服務? (SQL Express)
- 5. 自動啓動x服務器和自己的服務
- 6. symbian中的自動啓動服務
- 7. boot_completed上的自動啓動服務
- 8. Windows服務不會自動啓動
- 9. 如何自動啓動窗口服務
- 10. 自動啓動AppEngine靈活服務器
- 11. 安裝時自動啓動Windows服務
- 12. 我如何啓動Windows服務自動
- 13. 在RedHat中自動啓動Web服務
- 14. 如何自動啓動節點服務?
- 15. 安裝時自動啓動Windows服務
- 16. 自動啓動Selenium RC服務器
- 17. 如何讓IIS服務自動啓動?
- 18. django + nginx - 自動啓動django服務器
- 19. Windows服務不能自動啓動
- 20. Android服務啓動ramdomly /自動
- 21. 自動啓動進程和服務
- 22. 安裝後自動啓動服務
- 23. 自動啓動一個JBoss服務(MBean)
- 24. Python Windows服務自動啓動太早
- 25. 自動啓動在Android應用服務
- 26. 使用RESTless服務自動啓動glassfish
- 27. 自動啓動本地服務器
- 28. 啓動服務自動失敗
- 29. 上重新啓動服務器proftp的服務不會自動
- 30. SonarQube:java.lang.IllegalStateException:Webapp未啓動..:SonarQube服務器在我啓動服務器後自動關閉
你應該閱讀:http://developer.android.com/guide/components/services .html – Phil