出现这个问题是由于:在创建dialog时,传入的context对象是application的context对象( getApplicationContext() );
而不是当前acticity的context,才会导致创建dialog的Token为null
具体原因:由于创建dialog(w.setWindowManager(mWindowManager, null, null);
会将Token设置为null ;Activity会将这个appToken设置为ActivityThread传过来的token.
可以参考:https://www.jianshu.com/p/628ac6b68c15