我的活动中有以下代码:
import com.google.ads.Ad;
import com.google.ads.AdListener;
import com.google.ads.AdRequest.ErrorCode;
import com.google.analytics.tracking.android.EasyTracker;
public class ActivityX extends Activity implements AdListener {
private GameView view;
private AddAds ad;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
init();
}
private void init() {
view = new GameView(this);
LinearLayout.LayoutParams surfaceViewLinearLayoutParams = new LinearLayout.LayoutParams(
LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 1);
LinearLayout surfaceViewLinearLayout = new LinearLayout(this);
surfaceViewLinearLayout.setOrientation(LinearLayout.VERTICAL);
surfaceViewLinearLayout.setGravity(Gravity.CENTER);
surfaceViewLinearLayout.setLayoutParams(surfaceViewLinearLayoutParams);
surfaceViewLinearLayout.addView(view);
setContentView(surfaceViewLinearLayout);
}
// Analytics/Admob methods
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance().activityStart(this);
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance().activityStop(this);
}
}
我的surfaceview中的以下代码:
import com.google.analytics.tracking.android.EasyTracker;
public class MathGameView extends SurfaceView implements Runnable {
private Context context;
private SurfaceHolder holder;
private Canvas canvas;
private Thread thread = null;
private Paint textPaint;
private boolean loop;
private DisplayMetrics metrics;
private float width, height;
public GameView(Context context) {
super(context);
loop = true;
this.context = context;
metrics = new DisplayMetrics();
((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(metrics);
((Activity) context).getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
holder = getHolder();
thread = new Thread(this);
}
@Override
public void run() {
Looper.prepare();
while (loop) {
if (!holder.getSurface().isValid()) {
continue;
}
canvas = holder.lockCanvas();
check(true);
holder.unlockCanvasAndPost(canvas);
}
Looper.loop();
}
check(boolean checkB)
{
if(checkB)
{
loop = false;
EasyTracker.getTracker().sendEvent("msg", "msgfromgameview",
Build.MANUFACTURER+"-"+Build.MODEL+" test "+5, (long) 1);
}
}
}
如果我在我的 Activity 中调用 EasyTracker.getTracker().sendEvent() 它可以正常工作,但是如果我在我的 GameView 中调用它也可以吗?如何测试 EasyTracker 是否工作而无需等待几天才能在分析帐户中看到某些内容?