gpt4 book ai didi

android - 如何将值从警报服务传递到 android 中的 Activity ?

转载 作者:行者123 更新时间:2023-11-30 03:16:15 24 4
gpt4 key购买 nike

我正在开发安卓系统。我的应用程序包含一个图片库。每天我都需要显示一张图片作为通知。即当点击通知时,它应该打开 GALLERY 图像,然后在滑动时从那里打开所有其他图像。

GridView.java

gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
intent = new Intent(First.this, Gall.class);
intent.putExtra("pos", position);
startActivity(intent);
}
});

Gall.java

int posi;

Bundle extras = getIntent().getExtras();
if (extras != null)
{
posi = extras.getString("pos");
}

gal.setAdapter(new GallAdapter(this));
gal.setSelection(posi);

MyAlarmService:

@Override
public void onStart(Intent intent, int startId) {
super.onStart(intent, startId);

mManager = (NotificationManager) this.getApplicationContext()
.getSystemService(
this.getApplicationContext().NOTIFICATION_SERVICE);
Intent intent1 = new Intent(this.getApplicationContext(), Gall.class);

Notification notification = new Notification(R.drawable.icon,
"Image of the Day!", System.currentTimeMillis());
intent1.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP
| Intent.FLAG_ACTIVITY_CLEAR_TOP);

PendingIntent pendingNotificationIntent = PendingIntent.getActivity(
this.getApplicationContext(), 0, intent1,
PendingIntent.FLAG_UPDATE_CURRENT);
notification.flags |= Notification.FLAG_AUTO_CANCEL;
notification.setLatestEventInfo(this.getApplicationContext(),
"My Images", "Image of the Day!", pendingNotificationIntent);

mManager.notify(0, notification);

stopSelf();
}

我总共有 35 张图片。所以每天早上 8 点,一张图片将显示为通知,当点击通知时,它应该打开该图片并重定向到图库页面。现在因为有 35 张图像,我想每天显示一张图像。

从上面的代码来看,早上 8 点之后通知就不会来了。所以那时正常的画廊类将从 gridview 调用并且它工作正常。但是当通知到来时,我怎样才能将图像的位置发送到图库类,以便第一天的第一张图像,第二天的第二张图像,......最多 35。35 之后,位置应该从 1,2 开始,, ,...

我该怎么做?请在这方面帮助我。将非常感谢

最佳答案

您可以使用 LocalBroadcast Manager用于发送包含位置的本地广播消息。在 Activity 中,您可以注册您的接收器以接收本地广播。每当出现通知时,您都可以发送一个本地广播,您的 Activity 会收到该广播。

文档说:

It is a helper to register for and send broadcasts of Intents to local objects within your process. This is has a number of advantages over sending global broadcasts with sendBroadcast(Intent). One of them is that the data you are broadcasting won't leave your app, so don't need to worry about leaking private data.`

你可以在这里看到如何使用它:how to use LocalBroadcastManager? .希望对你有帮助。

关于android - 如何将值从警报服务传递到 android 中的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20061825/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com