现在的位置: 首页 > 综合 > 正文

Android 程序定时自启动

2013年09月21日 ⁄ 综合 ⁄ 共 1659字 ⁄ 字号 评论关闭

最近,看了api中例子程序定时自启动,整理了一下共分享给大家;

首先,创建AutouStartActivity类

package com.start.app;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class AutouStartActivity extends Activity {
	 final String MYACTION = "android.intent.action.STARTMYAP";  
	 AlarmManager am = null; 
     Intent intent = null;
     
    /** Called when the activity is first created. */  
    @Override  
    public void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.main);  
          
        Button btn = (Button)this.findViewById(R.id.start);  
        btn.setOnClickListener(new OnClickListener(){  
  
            @Override  
            public void onClick(View v) {  
                
            	AutouStartActivity.this.finish();  
            }  
        });  
       am=(AlarmManager)this.getSystemService(Context.ALARM_SERVICE);
       intent=new Intent(MYACTION);
    }  
    
    @Override
    protected void onDestroy() {
    	  
         PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent, 1);  
         am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5000, pi);//15秒钟以后启动  
    	super.onDestroy();
    }
}

然后创建接收器

package com.start.app;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AppReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent in) {
		
		if(in!=null){
			if(in.getAction().equals("android.intent.action.STARTMYAP")){
				Intent i=new Intent(context, AutouStartActivity.class);
				i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
				context.startActivity(i);
			}
		}

	}

}

最后,别忘了注册接收器;

<receiver android:name=".AppReceiver">  
               <intent-filter>  
                 <action android:name="android.intent.action.STARTMYAP"/>  
             </intent-filter>  
        </receiver>  

ok,搞定!

抱歉!评论已关闭.