我的警报被触发了,我通过在广播接收器类中使用调试语句确认了这一点。但是闪烁的动画不起作用。我对 Android 很陌生。谁能告诉我是什么问题?我能得到的一个猜测可能是广播接收器无法知道片段引用,因此无法运行动画。如果是这种情况,那么实际上我不知道如何添加引用或者如果我可以从接收器返回并执行内部的所有活动片段。请让我知道步骤。
片段代码:
Calendar calendar= Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(Calendar.HOUR_OF_DAY,16);
calendar.set(Calendar.MINUTE,42);
calendar.set(Calendar.SECOND,0);
Intent intent =new Intent(getContext(),NotificationActivity.class);
intent.putExtra("id",R.id.notification_imageView);
PendingIntent pendingIntent =
PendingIntent.getBroadcast(getContext(),100,intent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager=(AlarmManager) getActivity().getSystemService(ALARM_SERVICE);
System.out.println("DEBUG==> Instantiating Alarm Manager Service");
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),1000 * 60 *
02,pendingIntent);
BroadcastReceiever 类 --ClassNotificationActivity.class
public class NotificationActivity extends BroadcastReceiver {
private View view;
@Override
public void onReceive(Context context, Intent intent) {
ImageView img;
System.out.println("DEBUG==> Page Notification Activity is being loaded");
View view = View.inflate(context, R.layout.Samplelayout, null);
img = view.findViewById(R.id.imageview);
System.out.println("DEBUG==> Loading bulb Image for Animation"+img);
System.out.println("DEBUG==> Loading bulb Image for Animation");
Animation animation = new AlphaAnimation((float) 0.5, 0); // Change alpha from fully visible to
invisible
animation.setDuration(500); // duration - half a second--2 minutes
animation.setRepeatCount(200);
img.startAnimation(animation);
}
}
清单.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.SET_ALARM" />
<receiver android:name=".view.ui.NotificationActivity" />
示例布局.xml:
<LinearLayout
android:id="@+id/linearLayout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@color/red"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/imageview"
android:layout_width="70dp"
android:layout_height="64dp"
android:layout_margin="20dp"
android:src="@drawable/Dumble"
android:tint="@android:color/white"
tools:layout_editor_absoluteX="32dp"
tools:layout_editor_absoluteY="32dp" />
</LinearLayout>