程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> 鬧鐘服務-靜態注冊的Braodcast在關閉程序的時候不啟動,還是Alarmmanager的問題

鬧鐘服務-靜態注冊的Braodcast在關閉程序的時候不啟動,還是Alarmmanager的問題

編輯:編程綜合問答
靜態注冊的Braodcast在關閉程序的時候不啟動,還是Alarmmanager的問題

manifest

 <receiver android:name=".MyBroadcast">
            <intent-filter>
                <action android:name="com.mine.alarmtestdemo1.myAction" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </receiver>

點擊事件發送廣播

```public void onClick(View v) {
// TODO Auto-generated method stub
AlarmManager myAlarmManager=(AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent();
intent.setAction("com.mine.alarmtestdemo1.myAction");
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi=PendingIntent.getBroadcast(context, 1, intent, PendingIntent.FLAG_UPDATE_CURRENT);
myAlarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+7*1000, pi);
}

自定義的myBroadcast


``` public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String action =intent.getAction();
        if(action.equals("com.mine.alarmtestdemo1.myAction")){
        Intent intent1=new Intent(context,GetAcivity.class);
        intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(intent1);
        }
    }

開著Demo的時候,可以正常,但發送完廣播,關閉Demo,然後就沒有然後了。。。
莫非是AlarmManager的問題。
求大神幫忙。

最佳回答:


最終發現是因為在退出的時候,如果清理內存或其它類似能殺死程序進程的都會清除廣播。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved