首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用AlarmManager打电话给我的AlarmManager?[已订]

用AlarmManager打电话给我的AlarmManager?[已订]
EN

Stack Overflow用户
提问于 2013-10-09 06:53:35
回答 2查看 135关注 0票数 0

我得通过BroadcastReceiver通过AlaramManager打电话。

为此,我所做的,是行不通的:

AlarmActivity.java

代码语言:javascript
复制
public class AlarmActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alarm);

        AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);

        Calendar calendar = Calendar.getInstance();
        calendar.set(Calendar.HOUR_OF_DAY, 12);
        calendar.set(Calendar.MINUTE, 50);
        calendar.set(Calendar.SECOND, 0);

**Edit : Solution**

        //Intent intent = new Intent(AlarmActivity.this, MyService.class);
        //PendingIntent  pendingIntent = PendingIntent.getService(AlarmActivity.this, 0, intent, 0);
        //alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
        //alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, c.getTimeInMillis(), pendingIntent);

     AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
     Intent intent1 = new Intent(AlarmActivity.this, MyService.class);
     PendingIntent pendingIntent =   PendingIntent.getBroadcast(AlarmActivity.this, 0, intent1,PendingIntent.FLAG_UPDATE_CURRENT);
     am.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent);
    }
}

MyService.java

代码语言:javascript
复制
public class MyService extends BroadcastReceiver {

    @SuppressLint("SimpleDateFormat")
    @Override
    public void onReceive(Context arg0, Intent arg1) {
            Log.e("Broadcast", "Done");
    }
}

Also give alarm permission and receiver

,这是我用过的,但现在不起作用了。你知道我错过了什么吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-09 07:07:11

使用这个

代码语言:javascript
复制
 AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                Intent intent1 = new Intent(Scheduling.this, Feedback.class);
                PendingIntent pendingIntent =   PendingIntent.getBroadcast(Scheduling.this, 0, intent1,PendingIntent.FLAG_UPDATE_CURRENT);
am.setRepeating(AlarmManager.RTC_WAKEUP,calendar1.getTimeInMillis(), 86400000, pendingIntent);                  

在半音中添加接收器

票数 1
EN

Stack Overflow用户

发布于 2013-10-09 06:59:19

就像这样,

代码语言:javascript
复制
public class MyService extends BroadcastReceiver {
private Context mContext;
    @SuppressLint("SimpleDateFormat")
    @Override
    public void onReceive(Context arg0, Intent arg1) {
            StringBuilder msgStr = new StringBuilder();
            Format formatter = new SimpleDateFormat("hh:mm:ss a");
            msgStr.append(formatter.format(new Date()));
            Log.e("Broadcast", "Done");
            mContext = arg0;
    }
}

在getSystemservice()编写以下代码

代码语言:javascript
复制
AlarmManager am = (AlarmManager) mContext.getSystemService(mContext.ALARM_SERVICE);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19265089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档