Non violent resistance mainly works when the oppressor wants to think of itself as being a good guy. In a dictatorship like Nazi Germany or Stalinist Russia theyd just shoot you and be done with it.
Mass media and public opinion dont affect Chinese politics.
Because the UK wanted to make India independent, and had been working towards that aim since shortly after WWI. By the 1930s, applicants for the Indian Civil Service were being advised it was a temporary position. WW2 interrupted the process. The Gandhi film is a piece of political folklore which was largely paid for by the criminals who run the Congress India Party. If you want to know the truth about the old fraud and pervert - here it is:
China controls all news and does not allow sympathy be shown to dissidents
Tiananmen Square was almost twenty years ago.
China is communist and does not tolerate dissent. There is extreme censorship, and the police and military are everywhere.
You really think that there was no violence in India or the USA in relation to independence or civil rights?