使用Android系统自带的应用统计

    前几天在做一个小程序,是关于Android如何来统计应用使用的次数以及使用了多长时间。后来在网上查了一些相关资料,终于解决了。

    其实很简单。这是手机中自带的功能,不用同时按下什么组合按键,而是在拨号界面进行拨号即可。点击位于系统主屏的Dialer进入拨号界面,输入“*#*#4636#*#*”(不加引号)即可进入工程测试模式。这时可以看到出现了Testing的界面,包含了Phone information、Battery information、Battery history、Usage statistics四个选项,如下图,如果需要查看程序的历史运行时间,直接点击最后一项Usage statistics系统会列出一个列表信息就是各个程序的历史运行时间 如图:

 

使用Android系统自带的应用统计_第1张图片

 

这时LogCat中会打印以下信息:

因些我们可以看到Activity的 包名:com.android.settings  类名:UsageStates

这样我们就可以写一小程序来调用该程序了。

 

具体代码如下:

main.xml

 

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <Button android:id="@+id/button" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="应用使用统计" /> </LinearLayout>  

 

ActivityMain.java

public class ActivityMain extends Activity { private Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); button = (Button) findViewById(R.id.button); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_MAIN); intent.setComponent(new ComponentName("com.android.settings","com.android.settings.UsageStats")); //intent.setClassName("com.android.settings", "UsageStats"); startActivity(intent); } }); } } 

程序运行结果:

 

使用Android系统自带的应用统计_第2张图片

你可能感兴趣的:(android,layout,button,encoding,statistics,testing)