美文网首页
广播(开机时APP自动启动)

广播(开机时APP自动启动)

作者: 谜之龙 | 来源:发表于2017-04-20 09:30 被阅读0次

    *如果不想传值,可新建个APP类负责上下文

    public class App extends Application {
     public static App appcontext;
    @Override
    public void onCreate() {
        super.onCreate();
        appcontext=this;
    }
    }
    

    在清单文件中注册

     //使用的权限
    <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    //注册
    <receiver android:name=".guangbo.Radio" >
            <intent-filter>
                <action  android:name="android.intent.action.BOOT_" />
            </intent-filter>
        </receiver>
    

    广播的接收类

    //新建一个广播接收
    public class Radio extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        boolean boot= SPar.getBoolean("boot",false);
        if (boot){
        Intent intent1=new Intent(context, ShanActivity.class);
        intent1.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
           context.startActivity(intent1);
       }
    }
    

    }
    一个工具类,负责传递状态的

     //新建一个工具负责传递状态
    public class SPar  {
    //文件名字,负责接收状态的文件
    private static String SP_name="info";
    //接收点击是传送过来的按钮,并上传到本地
    public static void saveboolean(String pass,boolean check){
        SharedPreferences sp = App.appcontext.getSharedPreferences(SP_name, Context.MODE_APPEND);
        sp.edit().putBoolean(pass,check).commit();
    }
    //从本地获取状态,可给其他类使用
    public static boolean getBoolean(String pass,boolean defacheck){
        SharedPreferences sp = App.appcontext.getSharedPreferences(SP_name, Context.MODE_APPEND);
        return sp.getBoolean(pass,defacheck);
    }
    }
    

    *举个例子,checkbox

         //点击监听
         public void onCheckedChanged(CompoundButton buttonView, boolean      
        isChecked) {
        switch (buttonView.getId()){
            case R.id.checkbox_set_open:
                SPar.saveboolean("boot",isChecked);
                break;
      }    }
     //将你选择的状态赋给初始状态
        boolean boot=SPar.getBoolean("boot",false);
        mChBopen.setChecked(boot);

    相关文章

      网友评论

          本文标题:广播(开机时APP自动启动)

          本文链接:https://www.haomeiwen.com/subject/romkzttx.html