实际上此种方式只是提供一个activity的实例,然后就可以在里面弹对话框或者干别的了。
代码:
/**
* 用于在服务、广播等无界面类中弹对话框
*
* @author Created by qlang on 2017/1/6.
*/
public class DialogActivity extends Activity {
private static DialogContextProvider mContextProvider;
public static void show(Application app, DialogContextProvider contextProvider) {
mContextProvider = contextProvider;
Intent intent = new Intent(app.getApplicationContext(), DialogActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
app.getApplicationContext().startActivity(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mContextProvider.getContext(this);
}
public interface DialogContextProvider {
void getContext(Activity activity);
}
}
定义activity样式