七乐彩500走势图

在BroadcastReceiver中啟動Service

當前位置: 首頁 >> 技術支持

分享到: 更多
2013-12-29 20:04:32

建立一個BroadcastReceiver,代碼如下:

  1. 		package net.blogjava.mobile.startupservice;  
  2.  
  3. import android.content.BroadcastReceiver;  
  4. import android.content.Context;  
  5. import android.content.Intent;  
  6.  
  7. public class StartupReceiver extends BroadcastReceiver  
  8. {  
  9.     @Override  
  10.     public void onReceive(Context context, Intent intent)  
  11.     {  
  12.         //  啟動一個Service  
  13.         Intent serviceIntent = new Intent(context, MyService.class);          
  14.         context.startService(serviceIntent);          
  15.         Intent activityIntent = new Intent(context, MessageActivity.class);  
  16.         //  要想在Service中啟動Activity,必須設置如下標志  
  17.         activityIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);  
  18.         context.startActivity(activityIntent);  
  19.     }  

在StartupReceiver類的onReceive方法中完成了兩項工作:啟動服務和顯示一個Activity來提示服務啟動成功。其中 MessageActivity是一個普通的Activity類,只是該類在配置時使用了"@android:style/Theme.Dialog"主 題,因此,如果服務啟動成功,會顯示如圖8.4所示的信息。

圖8.4  在BroadcastReceiver中啟動服務

如果安裝本例后,在重新啟動模擬器后并未出現如圖8.4所示的信息提示框,最大的可能是沒有在AndroidManifest.xml文件中配置BroadcastReceiver和Service,下面來看一下AndroidManifest.xml文件的完整代碼。

  1. 		<?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.     package="net.blogjava.mobile.startupservice"  android:versionCode="1" 
  4.     android:versionName="1.0"> 
  5.     <application android:icon="@drawable/icon"  android:label="@string/app_name"> 
  6.         <activity android:name=".MessageActivity"  android:theme="@android:style/Theme.Dialog"> 
  7.             <intent-filter>                  
  8.                 <category android:name="android. intent.category.LAUNCHER" /> 
  9.             </intent-filter> 
  10.         </activity> 
  11.         <receiver android:name="StartupReceiver"> 
  12.             <intent-filter> 
  13.                 <action android:name="android. intent.action.BOOT_COMPLETED" /> 
  14.                 <category android:name="android. intent.category.LAUNCHER" /> 
  15.             </intent-filter> 
  16.         </receiver> 
  17.         <service android:enabled="true" android:name=".MyService" /> 
  18.     </application> 
  19.     <uses-sdk android:minSdkVersion="3" /> 
  20.     <uses-permission android:name="android. permission.RECEIVE_BOOT_COMPLETED" /> 
  21. </manifest> 

現在運行本例,然后重啟一下模擬器,看看LogCat視圖中是否輸出了相應的日志信息。

{LastAndNextNews}
自助服務
用戶名:
密 碼:

在線咨詢

客服1:732055019

客服2:784578232

合作: 343365976


推薦產品
手機版 關于維泰 客戶留言 在線報名
維泰軟件 聯系電話:400-660-6590 維護
七乐彩500走势图