something wrong with the Gyroscope in unity3d(tested on google nexus 7)

I write a script in c# to test the Gyroscope in unity3d 4.0. and get the information blow:
14999-11.jpg

However when I rotate or move my google nexus 7. Every parameter keeps “0” ; I don’t know why.

anyone can help me ?

here is my code:

using UnityEngine;
using System.Collections;

public class gyroscope : MonoBehaviour
{
	private Gyroscope gyo1;
	private bool gyoBool;
	private Quaternion rotFix;

	// Use this for initialization
	void Start ()
	{
		gyoBool = SystemInfo.supportsGyroscope;
		Debug.Log (gyoBool.ToString ());
	}
	
	// Update is called once per frame
	void Update ()
	{
	gyo1=Input.gyro;
		
	}

	void OnGUI ()
	{
		if (gyoBool != null) 
		{
			GUI.Label (new Rect (10, Screen.height / 2 - 50, 100, 100), gyoBool.ToString ());
			if (gyoBool == true) 
			{
				
				GUI.Label (new Rect (10, Screen.height / 2-100, 500, 100), "gyro supported");
				GUI.Label (new Rect (10, Screen.height / 2, 500, 100), "rotation rate:" + gyo1.rotationRate.ToString ());
				GUI.Label (new Rect (10, Screen.height / 2 + 50, 500, 100), "gravity:      " + gyo1.gravity.ToString ());
				GUI.Label (new Rect (10, Screen.height / 2 + 100, 500, 100), "attitude:     " + gyo1.attitude.ToString ());
				GUI.Label (new Rect (10, Screen.height / 2 + 150, 500, 100), "type:         " + gyo1.GetType ().ToString ());
			} 
			else
				GUI.Label (new Rect (Screen.width / 2 - 100, Screen.height / 2, 100, 100), "not supported");
		}
	}

	
}

You’re seeing zeroes because the ToString method of Vector3 (among others) truncates its decimals to one decimal by default. Try adding more and see if it helps by specifying a format for ToString, e.g.:

gyo1.rotationRate.ToString("F4")

For 4 decimals.

You should add
Input.gyro.enabled = true;
in your initialization