Some extra information:
G is a group and the set $\hat{G}:=\{f:G\to S^1|f$ is a group homomorphism $\}$.
$(f_1*f_2)(g):=f_1(g)f_2(g),$ for $f_1,f_2\in\hat{G}$ and $g\in G$
We know that a simple group has no normal non-trivial subgroups. So this was my try:
If G is simple that means its only subgroups are e and G itself. But for it to have the identity element, there must be elements $a,b\in G$, s.t. $ab=e$ or $ba=e$, which cannot be and $\hat{G}$ has only one element??
No, it means that its only normal subgroups are $\{e\}$ and $G$ itself.
Fortunately the kernel of $f$ has to be a normal subgroup, so you still know that the kernel is either $\{e\}$ or $G$ itself.
I cannot follow this argument.
Instead, hint: Suppose $f$ is a homomorphism with kernel $\{e\}$. Since $G$ is non-abelian, there exist $a,b$ such that $aba^{-1}b^{-1}\ne e$. But what is $f(aba^{-1}b^{-1})$?
Bonus question: Which groups other than $S^1$ will this argument also work for?