聊天时,对方发过的话末尾有obj
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊天时,对方发过的话末尾有obj相关的知识,希望对你有一定的参考价值。
聊天时,对方发过的话末尾有obj
这是一种文本文件,程序编译时生成的中间代码文件目标文件,一般是程序编译后的二进制文件,再通过链接器和资源文件链接就成可执行文件了。
OBJ只给出了程序的相对地址,而可执行文件是绝对地址。
obj文件特点:OBJ文件是一种3D模型文件。不包含动画、材质特性、贴图路径、动力学、粒子等信息。
OBJ文件主要支持多边形模型。曲线、曲面和点组材料也被支持,但是Maya导出的OBJ文件不包含这些信息
OBJ文件支持面超过三个点,这是有用的。
许多其他的模型文件格式只支持三点面,所以导入到Maya的模型通常是三角的,这不利于模型的重建。
扩展资料:
OBJ文件支持法线和地图坐标。在其他软件中调整地图后,可以将地图坐标信息存储在OBJ文件中。
文件导入到Maya后,您只需要指定地图文件路径,而不需要调整地图坐标。
Obj文件结构:Obj文件不需要任何类型的文件头,尽管在文件开头使用带有几行文件信息的注释是很常见的。
OBJ文件由一行文本组成,注释行以符号“#”开头,以及可以添加到文件以提高可读性的空格和空格。
包含一个单词的行以一个或两个标记字母或关键字开始,它们描述一行是什么类型的数据。
通过在每一行的末尾添加一个连接器(\),可以将多行逻辑地连接在一起表示一行。注意,连接器(\)后面不能跟着空格或选项卡框,否则会导致文件错误。
参考技术A 我与别人聊天时不喜欢别人说哦,我总觉得那是在敷衍,一般情况下,就不会继续了当用户已经在聊天时,Firebase 聊天会阻止推送通知
【中文标题】当用户已经在聊天时,Firebase 聊天会阻止推送通知【英文标题】:Firebase chat prevent push notification when user is already chatting 【发布时间】:2018-10-28 10:04:44 【问题描述】:我正在使用 Firebase 作为数据库和 FCM 作为推送通知服务来构建一个聊天应用程序。
在构建应用程序时,我意识到我不应该总是为每条创建的消息触发推送通知。例如,用户可能已经在聊天,并且不应收到该对话的推送通知。
实现这一点的一种方法是让服务器知道每次用户进入对话并有条件地发送推送通知。但是,这是一个服务器端解决方案,我想知道是否有任何现有的使用 Firebase 的客户端解决方案。
【问题讨论】:
由于服务器端是系统发送消息的部分,在我看来,解决方案必须主要在该端。客户端只是接收消息。 @DougStevenson 我明白了,我只是觉得服务器应该知道用户的当前屏幕很奇怪。但我想这是解决这个问题的最好方法。谢谢! 服务器可以继续发送消息,客户端可以忽略它们。如果您使用 FCM,则发送消息无需任何费用,您只需为后端处理支付最低费用。 @DougStevenson 哦,有没有办法让客户端忽略消息,尽管它们包含“通知”有效负载? AFAIK 包含“通知”有效负载的 FCM 消息会触发推送通知,无论应用程序是在前台还是后台。 “忽略”是指您的代码在收到消息后选择不做任何事情。您无法更改消息的默认触发行为。 【参考方案1】:我们可以通过布尔方法检查应用程序是否在后台。使用活动管理器,我们可以检查应用程序(使用您的包名称)是否正在运行!然后在“onMessageReceived”上使用简单的 if-else,您可以选择不显示通知。 在您创建的 Firebase 消息服务类中使用它:
public class MyGcmPushReceiver extends GcmListenerService
/**
* Called when message is received.
* @param from SenderID of the sender.
* @param bundle Data bundle containing message data as key/value pairs.
* For Set of keys use data.keySet().
*/
@Override
public void onMessageReceived(String from, Bundle bundle)
// Check here whether the app is in background or running.
if(isAppIsInBackground(getApplicationContext()))
// Show the notification
else
// Don't show notification
/**
* Method checks if the app is in background or not
*/
private boolean isAppIsInBackground(Context context)
boolean isInBackground = true;
ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT_WATCH)
List<ActivityManager.RunningAppProcessInfo> runningProcesses = am.getRunningAppProcesses();
for (ActivityManager.RunningAppProcessInfo processInfo : runningProcesses)
if (processInfo.importance == ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND)
for (String activeProcess : processInfo.pkgList)
if (activeProcess.equals(context.getPackageName()))
isInBackground = false;
else
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
ComponentName componentInfo = taskInfo.get(0).topActivity;
if (componentInfo.getPackageName().equals(context.getPackageName()))
isInBackground = false;
return isInBackground;
原始感谢兔子先生https://***.com/a/42312210/10742321
【讨论】:
您好!虽然这段代码可以解决问题,including an explanation 解决问题的方式和原因确实有助于提高您的帖子质量,并可能导致更多的赞成票。请记住,您正在为将来的读者回答问题,而不仅仅是现在提出问题的人。请edit您的答案添加解释并说明适用的限制和假设。以上是关于聊天时,对方发过的话末尾有obj的主要内容,如果未能解决你的问题,请参考以下文章
使用 smack 和 servlet 连接到 facebook 聊天时