package com.habby.sliderbar; import android.app.Activity; import android.app.PendingIntent; import android.app.PendingIntent.CanceledException; import android.content.Context; import android.content.Intent; import android.graphics.Canvas; import android.os.Bundle; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; import android.widget.TextView; public class MainActivity extends Activity implements OnClickListener { private final String TAG = getClass().getSimpleName(); private PendingIntent mPendingIntent; private Intent mIntent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView text = (TextView) findViewById(R.id.text); text.setClickable(true); text.setOnClickListener(this); mIntent = new Intent(MainActivity.this, SecondActivity.class); mIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mPendingIntent = PendingIntent.getActivity(MainActivity.this, 0, mIntent, Intent.FLAG_ACTIVITY_NEW_TASK); DisplayMetrics dm = new DisplayMetrics(); WindowManager wm = getWindowManager(); wm.getDefaultDisplay().getMetrics(dm); Log.e(TAG, ""+dm.widthPixels+"/"+dm.heightPixels); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.text: try { mPendingIntent.send(0, new Finish(), null);
/** 这是方法在类似startAcitivity()或finish()后调用,完成Activity切换动画 */ MainActivity.this.overridePendingTransition(R.anim.transition_right_enter, R.anim.acitivity_exit); } catch (CanceledException e) { e.printStackTrace(); } break; default: break; } } private class Finish implements PendingIntent.OnFinished { @Override public void onSendFinished(PendingIntent pendingIntent, Intent intent, int resultCode, String resultData, Bundle resultExtras) { Log.e("Habby", "finished !!!"); } } private class MyView extends View implements OnClickListener { public MyView(Context ctx, AttributeSet attrs) { super(ctx, attrs); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); setMeasuredDimension(widthMeasureSpec, heightMeasureSpec); } @Override public void onLayout(boolean changed, int left, int top, int right, int bottom) { super.onLayout(changed, left, top, right, bottom); } @Override public void onDraw(Canvas canvas) { super.onDraw(canvas); } @Override public void onClick(View view) { } }
}