记录Unity中显示android view的方法

地图导航开启后,将地图app弄到后台运行,会发送系统通知。
在Unity中去截获这些通知内容,这些内容包括文字以及导航icon图标,这些信息的获取通过NotificationListenerService得到:
1,首先从通知中取得contentView或bigContentView,他们是RemoteViews类型
2,把contentView转换为View:
View contentView = notification.contentView.apply(this, null);
3, 得到的View是一个ViewGroup, 得到所有的子View并遍历
ArrayList contentViewList = getAllChildren(contentView);
4, 如果子View是一个TextView,拿到上面的文本
String str = ((TextView) v).getText().toString();
5, 如果子View是一个ImageView,发现显示的是导航动作icon(把这个ImageView转换为bitmap,再通过ImageView.setImageBitmap把这个View显示到测试Activity中)。所以如果要再Unity中显示这个icon,可以先把ImageView转为Bitmap,Bitmap转为byte数组,在android端(aar)提供一个接口去get这个byte数组。在Unity端,使用这个byte[]去创建一个Texture2D,再用它给Unity 的Image的Spirit赋值。

关键代码(继承通知接口的类中):
private byte[] mNaviIcon= new byte[0];
public byte[] getNaviI

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值