diff --git a/src/android/camera_metadata.h b/src/android/camera_metadata.h
index e70f60af..f3b7c91e 100644
--- a/src/android/camera_metadata.h
+++ b/src/android/camera_metadata.h
@@ -33,6 +33,17 @@ public:
 
 	bool hasEntry(uint32_t tag) const;
 
+	template<typename T,
+		 std::enable_if_t<std::is_arithmetic_v<T> ||
+				  std::is_enum_v<T>> * = nullptr>
+	bool appendEntry(uint32_t tag, const T &data)
+	{
+		if (hasEntry(tag))
+			return updateEntry(tag, &data, 1, sizeof(T));
+		else
+			return addEntry(tag, &data, 1, sizeof(T));
+	}
+
 	template<typename T,
 		 std::enable_if_t<std::is_arithmetic_v<T> ||
 				  std::is_enum_v<T>> * = nullptr>
