2014-04-24 22 views
-2

我正在處理一個應用程序,該應用程序將開始接收ACTION_SCREEN_ON廣播消息的活動。
如何實現這個?任何人都可以發佈代碼嗎?
我知道我必須使用BroadcastReceiver。但我需要一個詳細的解釋,因爲我是初學者。如何在接收ACTION_SCREEN_ON消息時啓動一項活動?

+0

爲了獲得適當的支持,最好進一步詳細介紹一下目前爲止您嘗試過的內容以及您對該主題進行了哪些研究(包括您可能已經測試的代碼)。你不應該只是要求代碼。這不是Stackoverflow的工作方式。 –

+0

我一定會在下次做。 –

回答

0

在應用程序的AndroidManifest.xml有意向過濾器創建一個接收器捕捉android.intent.action.SCREEN_ON:

<receiver 
    android:name="your.app.packagename.Receiver" > 
    <intent-filter> 
     <action android:name="android.intent.action.SCREEN_ON" /> 
    </intent-filter> 
</receiver> 

然後,創建接收機類:

package your.app.packagename; 
// imports here 
public class Receiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     String action = intent.getAction(); 
     if (action != null && Intent.ACTION_SCREEN_ON.equals(action)) { 
      // Do whatever you need to be done when screen turns on 
     } 
    } 
} 

實現即:

  • 您需要啓動您的應用程序至少一次,然後纔開始接收ACTION_SCREEN_ON廣播。

  • onReceive()方法預計將運行得很快。如果您要做繁重的工作,請爲其啓動一個AsyncTask或後臺線程。

相關問題