2013-04-23 195 views
1

我有一個AlarmManager在我的MainActivity用來檢查一個網站,如果某些條件,則創建一個通知。AlarmManager膨脹佈局

的AlarmManger使用未決意圖>在一個單獨的類廣播接收器。該廣播接收器類然後調用第三個活動,執行代碼來檢查網站並處理結果,所有這些在應用程序未打開時在後臺進行。

的問題是,當報警事件觸發它實際上打開應用程序的主佈局。我沒有專門創建或膨脹此佈局,但在MainActivity中。

我認爲,當我的廣播接收器調用新意圖的問題被引起的。我認爲FLAG_ACTIVITY_NEW_TASK是導致佈局打開的原因。我沒有在清單中指定任何特殊的啓動模式,所以我不認爲這可能是問題所在。

我的問題是,有沒有適合我的方式來啓動這個意圖在從廣播接收機的背景,而不會觸發佈局顯示?我可以在清單中添加不同的標誌或其他東西嗎?

package alert.wow.onlinealert; 

import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.widget.Toast; 

public class AlarmReceiver1 extends BroadcastReceiver { 

@Override 
public void onReceive(final Context context, final Intent intent) { 
System.out.println("Timed Signal received by AlarmReceiver"); 
    try { 

Intent intent1 = new Intent(context, Jrequest.class); 
intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent1);  
    } catch (Exception e) { 
    System.out.println(e.toString()); 

    } 
    } 
} 

這裏的最終目標是讓AlarmReceiver在一小時一次後臺靜默運行,然後,如果滿足準則發送通知,應用程序本身應該很少需要打開。

我會很高興,如果它有利於後期更多的代碼。

謝謝, 克里斯

+0

閱讀'Service' – gauravsapiens 2013-04-23 07:35:21

+1

的http://開發商。 android.com/guide/components/services.html – gauravsapiens 2013-04-23 07:37:42

回答

0

使用服務,而不是活動,這裏是一個由馬克·墨菲工作example

希望這有助於亞龍

+0

感謝您的鏈接!我對這一切都很陌生。你能否爲這些java文件提供一些上下文?我認爲我需要全部使用它們,因爲它們似乎彼此鏈接,但我不確定每個服務的目的究竟是什麼,或者我最初跳入哪個目的。此外,在使用這些服務時,即使電話處於睡眠狀態,服務仍會繼續執行,或者進程是否會等待並在喚醒後運行? – Chris2222000 2013-04-23 07:59:05

+0

這裏是一個[鏈接](https://github.com/commonsguy/cw-advandroid/tree/master/SystemServices/Alarm)到完整的項目,您可以下載,然後導入到Eclipse。 – 2013-04-27 05:31:44