APN的使用

    最近項目要求代碼實現APN的建立以及切換,翻閱許多網頁,獲得一個結論,Android4.0以上,APN權限被禁用,只有系統應用纔可用,因而便想辦法把本身的應用變成系統應用,經過Android Linux 命令終於將本身的APK嵌入到系統中(/system/app目錄下),可是一運行本身的程序,就直接蹦了。 java

    下面把代碼貼出來,請大俠指教,急急急! android

    Main.Activity的oncreate中 app

String appName = getString(R.string.app_name);
		RootTools.debugMode = true;
		if(RootTools.isAccessGiven()){
			Toast.makeText(context, "授予權限成功", Toast.LENGTH_SHORT).show();
			List<String> commands = new ArrayList<String>();
			commands.add("su");
			commands.add("mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system");// 讓分區可寫
			if(RootTools.exists("/system/app/" + appName + ".apk")){
				commands.add("rm /system/app/" + appName + ".apk");
			}
			commands.add("cat /mnt/sdcard/360Download/Android.apk > /system/app/" + appName + ".apk");
			commands.add("mount -o remount,ro -t yaffs2 /dev/block/mtdblock3 /system");// 還原分區屬性,只讀
			commands.add("exit");
			Command command = null;
			try {
				command = RootTools.getShell(true).add(new MyCommand(1, commands.toArray(new String[commands.size()])));
				command.waitForFinish();
			}  catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			if(command!=null){
				
			}
			ApnUtils.init(this);//本身寫的新增APN,並切換APN
		}else{
			Toast.makeText(context, "授予權限失敗", Toast.LENGTH_SHORT).show();
		}

上面RootTools來RootTools.jar,AndroidManifest.xml中已經添加了權限: this

<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"/>
相關文章
相關標籤/搜索