2014-02-21 39 views
1

我有一個應用程序,我希望通過按電源按鈕或主頁按鈕打開手機時提取新數據。檢測設備何時開機

Android API中是否存在檢測此方法的方法?

基本用途的情況下將是:

  • 用戶接通設備
  • 應用插件檢測電話被接通時,生成新的數據顯示在窗口小部件。
+0

答案更新希望它會幫助你,請看! –

回答

0

嘿,你所能做的就是去後臺服務和廣播接收器,無論你是可行的爲你的應用程序插件需要,在那裏你可以處理的電源按鈕的按鍵如下

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) 
{ 
    if(keyCode == KeyEvent.KEYCODE_POWER) 
    { 
//handle the code to achieve yours desired logic 
    } 
    return super.onKeyDown(keyCode, event); 
} 

訪問也可以幫助您activate an application when a power button is clicked

1

當Android手機完成開啓(引導),意圖是broadcated:

android.intent.action.BOOT_COMPLETED 

您可以處理此意圖在您的應用程序,並適當地做工作。

1

在完成Android手機打開(引導),意圖是broadcated:

試試這個BootReceiver類

public class BootReceiver extends BroadcastReceiver { 

@Override 
public void onReceive(Context aContext, Intent aIntent) { 
    // if (BOOT_ACTION_NAME.equals(intent.getAction())) { 

     // ToDo: Whatever I need at immediately after bootstrap 
     Toast.makeText(aContext, "This message phone is turned on!", Toast.LENGTH_LONG).show(); 
     Log.e("..BOOT_ACTION_NAME...", "This message phone is turned on!"); 
    // } 
}} 

在應用程序中添加以下類的manifest.xml標籤

<receiver 
     android:name="com.example.testing_demo.BootReceiver" 
     android:enabled="true" 
     android:permission="android.permission.RECEIVE_BOOT_COMPLETED"> 
     <intent-filter> 
      <action android:name="android.intent.action.SCREEN_ON" /> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
     </intent-filter> 
    </receiver>