android源码使用U盘激活Launcher

  因为广电发文,各种限制android系统的自由度,种种缘由,项目需要做个“掩人耳目”的动作。那就是在android系统平台中需要预制两个Launcher,一个"干净"的,没有任何定制特色的原生launcher,另一个则是“多元”的定制的launcher。在出厂时,系统为干净launcher,出厂后,用户自己可以采用U盘激活“多元”定制Launcher。

  根据思路,目前要实现的模块是:

  1.U盘中存放一个激活KEY。

  2.出厂时,开机Launcher中本身需预装两个Launcher,并且按home键,不可以弹出选择启动项框。出厂时使用干净Launcher。

  3.当插入U盘后检测到有激活KEY值时,开机启动定制Launcher,并设置为默认值。

  第一步,U盘放激活KEY,这个当然是越简单越好,所以直接定一个文件夹,文件夹中放一个txt格式的文件,里面写上字串,自编。目前我建的路径是:“\LauncherKey\key.txt”文本里写的是:“123456789”。(字串和路径一定要考虑好,代码中是直接做完全匹配验证的)预先准备好测试的U盘。

  第二步, 准备两个可以正常运行的Launcher,注意加上Launcher的

 <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.MONKEY" />
                <category android:name="android.intent.category.FIRSTHOME" /><!--这个是自定义的Launcher,很多资料都有讲解怎么设置自定义Launcher-->
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>


  第三步,在检测U盘的应用中,例如,FileBrower.apk源码中,加上:

package com.fb.FileBrower;

import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;


import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.SystemClock;
import android.util.Log;
import android.widget.Toast;


/**
 * Created by liuwenchang on 14-2-13.
 */


public class MountReceiver extends BroadcastReceiver {
    private static final String TAG = "MountReceiver";
    private static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED";
    private static final String ACTION_MEDIA_MOUNTED = "android.intent.action.MEDIA_MOUNTED";
    private static boolean life = false;
    private Context mContext;
    private SharedPreferences sharedPreferences;     
    private SharedPreferences.Editor editor;


    @Override
    public void onReceive(Context context, Intent intent) {
    	mContext = context;
        String action = intent.ge
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值