package com.liyu.fakeweather.ui.weather; import android.content.Context; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.widget.ScrollView; import android.widget.TextView; import com.liyu.fakeweather.R; import com.liyu.fakeweather.ui.base.BaseActivity; import com.liyu.fakeweather.utils.RxImage; import com.liyu.fakeweather.utils.ShareUtils; import com.liyu.fakeweather.utils.ToastUtil; import rx.Observer; import rx.android.schedulers.AndroidSchedulers; public class ShareActivity extends BaseActivity { private static final String EXTRA_SHARE_MESSAGE = "share_message"; private String shareMessage = ""; private ScrollView scrollView; private TextView tv; public static void start(Context context, String shareMessage) { Intent intent = new Intent(context, ShareActivity.class); intent.putExtra(EXTRA_SHARE_MESSAGE, shareMessage); context.startActivity(intent); } @Override protected int getLayoutId() { return R.layout.activity_share; } @Override protected int getMenuId() { return 0; } @Override protected void initViews(Bundle savedInstanceState) { scrollView = (ScrollView) findViewById(R.id.share_container); tv = (TextView) findViewById(R.id.tv_share_content); } @Override protected void loadData() { shareMessage = getIntent().getStringExtra(EXTRA_SHARE_MESSAGE); tv.setText(shareMessage); scrollView.post(new Runnable() { @Override public void run() { RxImage.saveText2ImageObservable(ShareActivity.this, scrollView).observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<Uri>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { ToastUtil.showShort("天气分享失败:" + e.toString()); } @Override public void onNext(Uri uri) { ShareUtils.shareImage(ShareActivity.this, uri, "分享到"); } }); ShareActivity.this.finish(); } }); } }