from: http://blog.csdn.net/ghd2000/article/details/6081486
前几天在做一个小程序,是关于Android如何来统计应用使用的次数以及使用了多长时间。后来在网上查了一些相关资料,终于解决了。
其实很简单。这是手机中自带的功能,不用同时按下什么组合按键,而是在拨号界面进行拨号即可。点击位于系统主屏的Dialer进入拨号界面,输入“*#*#4636#*#*”(不加引号)即可进入工程测试模式。这时可以看到出现了Testing的界面,包含了Phone information、Battery information、Battery history、Usage statistics四个选项,如下图,如果需要查看程序的历史运行时间,直接点击最后一项Usage statistics系统会列出一个列表信息就是各个程序的历史运行时间 如图: 这时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"));
-
- startActivity(intent);
- }
-
- });
-
- }
- }
程序运行结果: |