使用AlarmManager和Receiver实现定时自动启动应用程序:

public class Main extends Activity {        public final String MT_ACTION = "android.intent.action.START_MY_APP";         Button bt;    public void onCreate(Bundle savedInstanceState)         super.onCreate(savedInstanceState);        setContentView(R.layout.main);        bt = (Button)findViewById(R.id.bt);        bt.setOnClickListener(new View.OnClickListener() {                        public void onClick(View v) {                                Main.this.finish();                        }                });        AlarmManager am = (AlarmManager)Main.this.getSystemService(Context.ALARM_SERVICE);        Intent intent = new Intent(MT_ACTION);        PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 1);        am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+3500, pi);    }}

Manifext:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"      package="com.vancl.startapp"      android:versionCode="1"      android:versionName="1.0">    <uses-sdk android:minSdkVersion="8" />    <application android:icon="@drawable/icon" android:label="@string/app_name">        <activity android:name=".Main"                  android:label="@string/app_name">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            </intent-filter>        </activity>                <receiver android:name="AlarmReceiver">                 <intent-filter>                   <action android:name="android.intent.action.START_MY_APP"/>               </intent-filter>          </receiver>     </application></manifest>

Receiver:

package com.vancl.startapp;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class AlarmReceiver extends BroadcastReceiver {        public void onReceive(Context context, Intent intent) {                Intent it = new Intent();                it.setClass(context, Main.class);                it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);                context.startActivity(it);//接受到广播 启动应用        }}


更多相关文章

  1. Android应用程序如何避免内存泄漏以及如何检查泄漏原因
  2. Ubuntu下android学习——(2)Android系统构架分析和应用程序目录结
  3. 深度探索Android应用程序的基本原理
  4. Android和iPhone应用程序界面布局示例
  5. Android应用程序的开发

随机推荐

  1. C++运算符中不能重载的是哪些
  2. eof在c语言中表示什么
  3. c语言本身没有输入输出语句吗
  4. c语言中continue语句的作用是什么
  5. C语言中字符串的结束标志是什么
  6. vc++和c++之间有什么区别?
  7. C语言标识符有哪三类
  8. strcat函数的作用是什么
  9. c语言是高级语言吗?
  10. strcpy函数的作用是什么