我有以下方法:
public NotificationCompat.Builder createNotification(Context context) {
Intent intent = new Intent(this, MapsActivity.class);
PendingIntent pIntent = PendingIntent.getActivity(this, (int) System.currentTimeMillis(), intent, 0);
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
boolean running = true;
builder = new NotificationCompat.Builder(context)
.setContentText("conteúdo")
.setContentTitle("titulo")
.setSmallIcon(R.drawable.ic_today_black_24dp)
.setAutoCancel(false)
.setOnlyAlertOnce(true)
.setOngoing(running)
.setContentIntent(
PendingIntent.getActivity(context, 10,
new Intent(context, MapsActivity.class)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP),
0)
)
.addAction(running ? R.drawable.ic_stop_black_24dp
: R.drawable.ic_play_arrow_black_24dp,
running ? "Pause"
: "play",
pIntent)
.addAction(R.drawable.ic_stop_black_24dp, "Stop",
pIntent);
notificationManager.notify(0, builder.build());
return builder;
}
Run Code Online (Sandbox Code Playgroud)
其中在状态栏中启动了一个通知,如下图的第一个通知:
要链接通知,我这样做:
NotificationCompat.Builder notification = createNotification(this);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, notification.build());
Run Code Online (Sandbox Code Playgroud)
我想在通知中创建一个 Chronometer,与 Strava 通知中显示的完全一样(图像的第二个通知),如上所示。
如何Chronometer在通知中创建一个?
因此,如果您知道如何使用Layouts. 但是,您必须注意 App Widget 布局基于RemoteViews,它不支持所有类型的布局或视图小部件。无论如何,如果您需要 App Widget 布局方面的帮助,这里有一些指导:https :
//developer.android.com/guide/practices/ui_guidelines/widget_design.html
幸运的是你的RemoteViews支持Chronometer,你可以从开发者网站看到:https : //developer.android.com/guide/topics/appwidgets/index.html#CreatingLayout
认为你可以像往常一样访问你的Chronometer,你可以做这样的事情取决于你是否希望它暂停,恢复,无论:
remoteView.setChronometer(R.id.myChronometere, SystemClock.elapsedRealtime(),
null, false); //pausing
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3195 次 |
| 最近记录: |