安卓音乐播放器的通知
如何从通知中的按钮中控制音乐播放器,以及如何从通知中聆听按钮操作 解决方案 您应该使用远程视图的setOnClickPendIntent()从通知中侦听按钮操作. 方法setOnClickPendingIntent()将绑定一个悬浮的意图,以响应按钮点击事件. 示例代码是这样的: private void showControllerInNotification() { PendingIntent pendingIntent = null; Intent intent = null; //Inflate a remote view with a layout which you want to display in the notification bar. if (mRemoteViews == null) { mRemoteViews = new RemoteViews(getPackageN
16 2024-03-19
编程技术问答社区
安卓系统在推送通知上设置rtl支持
我的目标是在推送通知上设置RTL支持.我的通知切换文本方向,而不是布局的位置.例如,图标始终在左侧,标题在右,并且文本在左边.我的猜测是所有人都应左右.我试图创建自定义XML,但问题是我无法在远程视图上设置LayoutDirection.使用的代码: 标准通知: mNotification = new NotificationCompat.Builder(context) .setContentTitle(contentTitle) .setContentText(contentText) .setSmallIcon(appIcon) .setContentIntent(contentIntent) .setSound(soundUri) .setAutoCancel(true) .setWhen(started) .build(); 和自定义XML: RemoteViews contentView =
10 2024-02-20
编程技术问答社区
如何通知安卓小部件重新绘制
我有一个使用RemoteViewsFactory的Android小部件来填充listView. 我的数据源是一个异步的JSON调用,可以随时完成(这不是推送通知).现在,代码位于onDataChanged中,看起来像这样: @Override public void onDataSetChanged() { // Subsequent calls to get the data. // Called when the widget onReceive ACTION_APPWIDGET_UPDATE procs. newsGetter.updateListFeed(null, new NewsGetter.OnUpdateListFeedFinishedListener() { @Override public void onUpdateListFeedFinished(VolleyError error) {
8 2024-02-19
编程技术问答社区
如何在一个应用部件中部分更新视图而不重建所有的远程视图?
我正在实现一个应用程序小部件,我希望能够更改小部件布局中的单个视图的属性,而无需重新构建所有RemoteViews,涉及加载xml等在某些情况下必要..是否有一种方法可以说"更新当前小部件布局中特定ID标识的视图上的属性X"?我已经看到AppWidgetManager类中有一个partiallyUpdateAppWidget方法,但我无法理解,也不是为此目的而设计的.链接或示例? 解决方案 是的,您可以在AppWidgetManager类中使用partiallyUpdateAppWidge t方法. 例如,如果要更新小部件内的文本视图: AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); rv = new RemoteViews(context.getPackageName(), R.layout.widgetlayout); rv.setTextViewText(R.id.
18 2024-02-19
编程技术问答社区
如何在安卓系统中以编程方式改变应用程序小部件的图像
i设计一个Android App小部件,其中两个ImageView当单击图像并调用方法时,我想更改ImageView的图像. 现在我使用RemoteView喜欢这个 RemoteViews views1 = new RemoteViews(context.getPackageName(), R.layout.activity_main); views1.setOnClickPendingIntent(R.id.smsImageView, pendIntent1); appWidgetManager.updateAppWidget(appWidgetIds, views1); ,但我不知道如何更改imageView中的图像 谢谢. 解决方案 widget_layout:
6 2024-02-19
编程技术问答社区
如何改变远程视图中的文本大小?
在RemoteViewsService.RemoteViewSfactory 下 public RemoteViews getViewAt(int position) { final int itemId = (position % 2 == 0 ? R.layout.light_widget_item : R.layout.dark_widget_item); RemoteViews rv = new RemoteViews(mContext.getPackageName(), itemId); rv.setTextViewText(R.id.widget_item, text); // rv.setTextSize(mPrefs.getTextsize().getValue()); return rv; } 如何编程更改文本大小? 解决方案 setFloat()方法怎么样? rv.setFloat(
22 2024-02-19
编程技术问答社区
远程视图addView不工作
我有一个应用程序小部件,我想在RemoteView中添加视图(TextView等),但它永远不会显示. 这里是代码: RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_layout); RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_row_layout); newView.setTextViewText(R.id.textUser, "1234"); views.addView(views.getLayoutId(), newView); // Tell the AppWidgetManager to perform an update on the current App Widget appWidgetManager.updateAppWidg
28 2024-02-19
编程技术问答社区
AppCompat 23.2在API<21>上使用VectorDrawableCompat与RemoteViews(AppWidget)。
我有一个appwidget,我想在ollipop的设备上使用VectorDrawables. vectordrawableCompat无法与我创建的远程视图一起使用. 要使我的应用程序APK尺寸降低,我不想为旧的API平台添加替代PNG版本. 我该怎么做? 解决方案 更新22/10/2017 正如 @user924现在指出的, appcompatdrawablemanager 访问仅限于其自己的库. contextCompat.getDrawable(...)应该做技巧. 更新05/09/2016 正如 @kirill-kulakov在答案中指出的那样,支持库的最新更新将tintContextWrapper的可见性限制在其自己的软件包中. 我正在更新答案以删除不正确的代码,但请感谢Kirill的更正! vectordrawable和远程视图pre-lollipop 您可以避免使用AppCompat tintresources 通过 tin
从RemoteViews获取TextView,使其文本可滚动
我有一个由服务中的远程视图构建的通知. 远程视图布局包含我想滚动的文本视图. 我已经将其设置为XML中的侯爵,一切都很好.但是现在我需要设置textView.setSelected(true),因此我需要以某种方式引用文本视图. 那么,如何从远程视图中获取textView进行setSelected()?还是有其他方法可以使其在通知中滚动? 我尝试了 LayoutInflater inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.notification, null); TextView text = (TextView) layout.findViewById(R.id.text); text.setSelected(true
26 2024-02-18
编程技术问答社区
安卓通知文本框不工作?
我正在尝试创建自定义通知状态栏,例如 samsung Galaxy S3股票音乐播放器.我正在使用 RemoteViews 进行自定义布局.但是我的TextView组件在Marquee模式下不起作用. 我的代码在下面.我在哪里犯错?我花了很多时间来解决这个问题,但我不是运气. 三星Galaxy S3股票音乐播放器通知栏: 这是我的XML布局代码:
60 2024-02-17
编程技术问答社区
如何为定制的安卓通知在RemoteView上添加垂直线?
我正在努力为自定义的Android通知添加垂直线.我尝试在我的相对布局中添加这样的视图: 但是当我发出通知时,我会得到以下例外: Android.App.RemoteServiceException:不良通知从软件包xxx发布:无法扩展远程视频:statusbarnotification(package = xxx) 有人有任何想法吗? 解决方案 您不能仅在RemoteView中夸大任何视图.将您
16 2024-02-17
编程技术问答社区
动态添加的远程视图上的布局权重
在我的小部件中,我正在使用以下内容将项目(r.layout.widget_item)动态添加到我的主要窗口小部件中定义的线性延迟: //-- Main widget layout RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget_design); //-- Add to main layout RemoteViews newView = new RemoteViews(context.getPackageName(), R.layout.widget_item); views.addView(R.id.view_container, newView); 我的问题是,如何在newView上动态设置" android:layout_weeight"属性? 解决方案 请参阅:/android/widget/remoteviews.html 您示例中的newVi
20 2024-02-16
编程技术问答社区
滑翔:加载图片到推送通知
我试图使用滑行将图像加载到推送通知中,但它说: FATAL EXCEPTION: Thread-9730 Process: com.monkingme.monkingmeapp, PID: 24226 java.lang.IllegalArgumentException: You must call this method on the main thread at com.bumptech.glide.util.Util.assertMainThread(Util.java:135) 和使用的代码: NotificationTarget notificationTarget = new NotificationTarget( context, rv,
10 2024-02-14
编程技术问答社区
如何在remoteViews中使用Glide?
我正在使用GLIDE用于从服务器上加载图像,但是我正在尝试以正确的方式将它们设置为通知和remoteconcontrolclientcompat(带有锁定屏幕的很酷的东西).我正在开发一个音乐播放器,因此每次更改歌曲时,通知都必须改变歌曲的封面.我有这个代码,它是第一次起作用(图像是从URL加载的或可绘制的),但第二次被称为时.图像不会改变!更改歌曲时调用定制化.并在开始活动中调用了registerRemoteClient. 如果这不是正确的方法,请告诉您如何做. public void CustomNotification() { Log.d(TAG, "Set custom notification"); simpleRemoteView = new RemoteViews(getApplicationContext().getPackageName(), R.layout.notification_custom); expandedRemote
34 2024-02-14
编程技术问答社区
带有RemoteViews的Android通知--拥有与RemoteViews布局相关的活动
我一直在研究如何使用RemoteView创建自定义通知. 到目前为止,我能够用contentView>和bigContentView指向RemoteView的通知,并用自定义布局XML创建通知.但是,没有发生的事情是在创建此RemoteView时就开始Activity(与自定义布局关联). 我已经进行了仔细检查,并且在我的布局xml中,它似乎具有正确的Activity类名称:
8 2024-02-12
编程技术问答社区
安卓AppWidget列表视图改变选定的图像按钮 onClick
我 homescreen widget : 很容易更新,例如activity徽标旁边的两个buttons,因为我从AppWidgetProvider AppWidgetProvider中获得了他们的appWidgetIds getViewAt()方法. @Override public RemoteViews getViewAt(int position) { RemoteViews row = new RemoteViews(ctxt.getPackageName(), R.layout.list_row_widget); row.setTextViewText(R.id.tvDescription, items.get(position).name); Intent i = new Intent(); Bundle extras = new Bundle(); extras.putB
14 2024-02-09
编程技术问答社区
当应用程序在后台时,如何为Firebase通知显示自定义UI?
我使用此类从Firebase Console接收到我自己的UI(远程视图).当应用程序是前景时,这正常工作,但是当应用在后台时,以默认设备样式显示的通知.我应该在我自己的UI中显示通知,即使应用程序是前景或背景? ? public class MyFirebaseMessagingService extends FirebaseMessagingService { private static final String TAG = "Mehdi"; @Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); if (remoteMessage.getNotification() != null) { Remote
20 2024-02-05
编程技术问答社区
在AppWidget的RemoteViewsFactory的onCreated()之后调用onDataSetChanged()是否安全?
我根据Android Doc开发了我的AppWidget,将光标加载到onCreate()中,然后在onDataSetChanged()中重新加载它,并且一切都很好,直到我在 RemoteViewsService.RemoteViewsFactory ,出人意料地发现onDataSetChanged() emange onDataSetChanged() empland emanse onDataSetChanged()始终在呼叫onCreate(),这使我的光标首次创建时加载了两次.我在Android 4.4.3. 根据 api doc , 公共摘要void ondatasetchanged() 在API级别11 中添加 notifyDataSetchanged()在远程适配器上触发时调用.这允许远程视图通过更新任何内部引用来响应数据更改.注意:可以在此方法中同步执行昂贵的任务.在此期间,旧数据将显示在小部件中. 似乎只通过手动调用notifydataset
26 2024-02-04
编程技术问答社区
从RemoteViews对象中检索文本
我需要从RemoteViews对象检索一些文本.我有可能获得LayoutID,但是我不知道如何从此RemoteView中的TextView中检索文本(即通知). RemoteView也只包含设置器,但没有固定器,所以我想我必须使用layoutid(以某种方式). 你能帮我吗?谢谢! /edit:我问这个问题的原因是因为我有一个检索通知的AccessibilityService.因此,这是检索值的唯一方法. /edit2:我使用此代码接收通知: @Override public void onAccessibilityEvent(AccessibilityEvent event) { if (event.getEventType() == AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED) { List notificationList = event.ge
12 2024-02-04
编程技术问答社区