Android 自定义APP开机启动,并打开其它App

Android 启动另一个app方法:

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		//adroid 启动另一个app
		Intent mIntent = new Intent(Intent.ACTION_MAIN);
		mIntent.addCategory(Intent.CATEGORY_LAUNCHER);
		//要启动的app的包名"src/com/Routon/HIDTest"
		String packageName = "com.Routon.HIDTest";
		//要启动的Activity "src/com/Routon/HIDTest/HIDTestActivity"
		String className = "com.Routon.HIDTest.HIDTestActivity";
		//Create a new component identifier.创建一个新的组件标识符
		ComponentName cn = new ComponentName(packageName, className);
		//给mIntent设置组件
		mIntent.setComponent(cn);
		//打开新Activity
		startActivity(mIntent);
		//完成并退出当前activity
		finish();		
	}


Android 自定义APP开机自启动实现方法:

android 自定义app实现开机自启动其实就是接收Android开机广播,下面是接收开机广播的onReceive()方法的实现:

package com.example.test_usb;

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

public class BootBroadcastReceiver extends BroadcastReceiver{

	static final String ACTION = "android.intent.action.BOOT_COMPLETED";
	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		
		if (intent.getAction().equals(ACTION)) {
			Intent mainActivityIntent = new Intent(context, MainActivity.class);  // 要启动的Activity
		    mainActivityIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
		    context.startActivity(mainActivityIntent);
		}
	}	
}

除了添加接收广播之外,还需要修改在AndroidManifest.xml文件中添加接收开机广播和添加接收开机广播的权限,具体代码如下:





    
    
    
        
         
          
            
           
               
        
        
            
                

                
            
        
    




你可能感兴趣的:(Android)