我正在开发android。我的应用程序包含一个图像库。我每天都需要显示一个图像作为通知。即,当点击通知时,它应该打开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调用,它工作正常。但是当通知到来时,我怎样才能将图像的位置发送到图库类,以便第一天第1张图像,第2天第2张图像,......最多35张。而在35之后,位置应该从1,2开始, ,...
我该怎么做?请帮助我这方面。真的很感激
答案 0 :(得分:1)
您可以使用LocalBroadcast Manager发送包含该位置的本地广播消息。在活动中,您可以注册接收器以接收本地广播。每当发出通知时,您都可以发送您的活动将收到的本地广播。
文档说:
注册并向您的进程中的本地对象发送Intents广播是一个帮手。与使用sendBroadcast(Intent)发送全局广播相比,这有许多优点。其中之一就是您播放的数据不会离开您的应用,因此无需担心泄露私人数据。
您可以在此处查看如何使用它:how to use LocalBroadcastManager?。希望它能帮到你。