本文整理汇总了Java中com.stericson.RootShell.execution.Shell类的典型用法代码示例。如果您正苦于以下问题:Java Shell类的具体用法?Java Shell怎么用?Java Shell使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Shell类属于com.stericson.RootShell.execution包,在下文中一共展示了Shell类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: getInode
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
/**
* This method will return the inode number of a file. This method is dependent on having a version of
* ls that supports the -i parameter.
*
* @param file path to the file that you wish to return the inode number
* @return String The inode number for this file or "" if the inode number could not be found.
*/
public String getInode(String file) {
try {
Command command = new Command(Constants.GI, false, "/data/local/ls -i " + file) {
@Override
public void commandOutput(int id, String line) {
if (id == Constants.GI) {
if (!line.trim().equals("") && Character.isDigit(line.trim().substring(0, 1).toCharArray()[0])) {
InternalVariables.inode = line.trim().split(" ")[0];
}
}
super.commandOutput(id, line);
}
};
Shell.startRootShell().add(command);
commandWait(Shell.startRootShell(), command);
return InternalVariables.inode;
} catch (Exception ignore) {
return "";
}
}
开发者ID:AlexanderKirillov,项目名称:Script-Executor-ROOT,代码行数:31,代码来源:RootToolsInternalMethods.java
示例2: enableUMS
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
boolean enableUMS(Context context) {
try {
String enableCommand = data.getString(Constants.setPermissionCmds, "")+"\n"+data.getString(Constants.enableUMScmds, "");
if(enableCommand.isEmpty()) {
Toast.makeText(context, context.getString(R.string.toast_open_app_once), Toast.LENGTH_SHORT).show();
return false;
}
Shell rootShell = RootTools.getShell(true);
Command cmd = new Command(0, "setenforce 0\n"+enableCommand);
rootShell.add(cmd);
//if(!rootShell.isExecuting) rootShell.close();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(context, context.getString(R.string.error_ums), Toast.LENGTH_SHORT).show();
openApp(context);
return false;
}
Toast.makeText(context, context.getString(R.string.toast_ums_enabled), Toast.LENGTH_SHORT).show();
isUMSdisabled = false;
showNotification(context);
return true;
}
开发者ID:GokulNC,项目名称:USB_Mass_Storage_Enabler,代码行数:23,代码来源:UsbBroadcastReceiver.java
示例3: disableUMS
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
boolean disableUMS(Context context, boolean removeNotif) {
try {
String disableCommand = data.getString(Constants.disableUMScmds, "");
if(disableCommand.isEmpty()) {
Toast.makeText(context, context.getString(R.string.toast_open_app_once), Toast.LENGTH_SHORT).show();
return false;
}
Shell rootShell = RootTools.getShell(true);
Command cmd = new Command(0, disableCommand);
rootShell.add(cmd);
//if(!rootShell.isExecuting) rootShell.close();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(context, context.getString(R.string.error_ums_disable), Toast.LENGTH_SHORT).show();
return false;
}
Toast.makeText(context, context.getString(R.string.toast_ums_disabled), Toast.LENGTH_SHORT).show();
isUMSdisabled = true;
if(removeNotif) removeNotification(context);
else showNotification(context);
//TODO: if(MainActivity.isAppOpen) MainActivity.updateUSBconfig(); //When toggled from notif
return true;
}
开发者ID:GokulNC,项目名称:USB_Mass_Storage_Enabler,代码行数:24,代码来源:UsbBroadcastReceiver.java
示例4: setNotificationLed
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setNotificationLed(int value) {
if (Profile.isProfilePreferenceAllowed(Profile.PREF_PROFILE_NOTIFICATION_LED, context)
== PPApplication.PREFERENCE_ALLOWED) {
if (android.os.Build.VERSION.SDK_INT < 23) // Not working in Android M (exception)
Settings.System.putInt(context.getContentResolver(), "notification_light_pulse", value);
else {
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put system " + "notification_light_pulse" + " " + value;
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.setNotificationLed", "Error on run su: " + e.toString());
}
}
}
}
}
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:25,代码来源:ActivateProfileHelper.java
示例5: setHeadsUpNotifications
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setHeadsUpNotifications(int value) {
if (Profile.isProfilePreferenceAllowed(Profile.PREF_PROFILE_HEADS_UP_NOTIFICATIONS, context)
== PPApplication.PREFERENCE_ALLOWED) {
if (android.os.Build.VERSION.SDK_INT >= 21) {
if (Permissions.hasPermission(context, Manifest.permission.WRITE_SECURE_SETTINGS)) {
Settings.Global.putInt(context.getContentResolver(), "heads_up_notifications_enabled", value);
}
else
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put global " + "heads_up_notifications_enabled" + " " + value;
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.setHeadsUpNotifications", "Error on run su: " + e.toString());
}
}
}
}
}
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:27,代码来源:ActivateProfileHelper.java
示例6: setNFC
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setNFC(Context context, boolean enable)
{
//Log.e("ActivateProfileHelper.setNFC", "xxx");
if (Permissions.hasPermission(context, Manifest.permission.WRITE_SECURE_SETTINGS)) {
//Log.e("ActivateProfileHelper.setNFC", "permission granted!!");
CmdNfc.run(enable);
}
else
if (PPApplication.isRooted()/*PPApplication.isRootGranted()*/) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = PPApplication.getJavaCommandFile(CmdNfc.class, "nfc", context, enable);
//Log.e("ActivateProfileHelper.setNFC", "command1="+command1);
if (command1 != null) {
Command command = new Command(0, false, command1);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.NORMAL).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.setNFC", "Error on run su");
}
}
}
}
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:26,代码来源:ActivateProfileHelper.java
示例7: deleteFile_su
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private static boolean deleteFile_su(String file) {
boolean OK;
List<String> settingsPaths = RootTools.findBinary("rm", true);
if (settingsPaths.size() > 0) {
String command1 = "rm " + file;
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1);
synchronized (PPApplication.startRootCommandMutex) {
Command command = new Command(0, false, command1);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.RECOVERY).add(command);
OK = commandWait(command);
OK = OK && command.getExitCode() == 0;
} catch (Exception e) {
//e.printStackTrace();
OK = false;
}
}
}
else {
OK = RootTools.deleteFileOrDirectory(file, false);
}
return OK;
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:27,代码来源:PhoneProfilesHelper.java
示例8: executeRootForAdaptiveBrightness
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void executeRootForAdaptiveBrightness(final Profile profile, final Context context) {
/* not working (private secure settings) :-/
if (Permissions.hasPermission(appContext, Manifest.permission.WRITE_SECURE_SETTINGS)) {
Settings.System.putFloat(appContext.getContentResolver(), ADAPTIVE_BRIGHTNESS_SETTING_NAME,
profile.getDeviceBrightnessAdaptiveValue(appContext));
}
else {*/
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put system " + ADAPTIVE_BRIGHTNESS_SETTING_NAME + " " +
Float.toString(profile.getDeviceBrightnessAdaptiveValue(context));
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.execute", "Error on run su: " + e.toString());
}
}
}
//}
}
开发者ID:henrichg,项目名称:PhoneProfilesPlus,代码行数:26,代码来源:ActivateProfileHelper.java
示例9: deleteFile_su
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private static boolean deleteFile_su(String file) {
boolean OK;
List<String> settingsPaths = RootTools.findBinary("rm", true);
if (settingsPaths.size() > 0) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "rm " + file;
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1);
Command command = new Command(0, false, command1);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.RECOVERY).add(command);
OK = commandWait(command);
OK = OK && command.getExitCode() == 0;
} catch (Exception e) {
//e.printStackTrace();
OK = false;
}
}
}
else {
OK = RootTools.deleteFileOrDirectory(file, false);
}
return OK;
}
开发者ID:henrichg,项目名称:PhoneProfilesPlus,代码行数:27,代码来源:PhoneProfilesHelper.java
示例10: runAndWait
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
public static ExecutionResult runAndWait(String cmd, Shell shell, boolean exceptionOnFailure) throws IOException
{
Logger.debug("Run&Wait: " + cmd);
CommandCapture cc = new CommandCapture(0, cmd);
shell.add(cc);
if (!waitForCommand(cc))
{
throw new IOException(String.format("Error waiting for command to finish executing {%s}", cmd));
}
if (exceptionOnFailure && cc.getExitCode() != 0)
{
throw new IOException(String.format("Unsuccessful exit code (%d) when executing command {%s}", cc.getExitCode(), cmd));
}
return new ExecutionResult(cc.toString(), cc.getExitCode());
}
开发者ID:JohnNPhillips,项目名称:HistoryCleanerPro,代码行数:20,代码来源:RootHelper.java
示例11: getMounts
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
/**
* This will return an ArrayList of the class Mount. The class mount contains the following
* property's: device mountPoint type flags
* <p/>
* These will provide you with any information you need to work with the mount points.
*
* @return <code>ArrayList<Mount></code> an ArrayList of the class Mount.
* @throws Exception if we cannot return the mount points.
*/
public ArrayList<Mount> getMounts() throws Exception {
InternalVariables.mounts = new ArrayList<>();
if (null == InternalVariables.mounts || InternalVariables.mounts.isEmpty()) {
Shell shell = RootTools.getShell(true);
Command cmd = new Command(Constants.GET_MOUNTS,
false,
"cat /proc/mounts") {
@Override
public void commandOutput(int id, String line) {
if (id == Constants.GET_MOUNTS) {
RootTools.log(line);
String[] fields = line.split(" ");
InternalVariables.mounts.add(new Mount(new File(fields[0]), // device
new File(fields[1]), // mountPoint
fields[2], // fstype
fields[3] // flags
));
}
super.commandOutput(id, line);
}
};
shell.add(cmd);
this.commandWait(shell, cmd);
}
return InternalVariables.mounts;
}
开发者ID:AlexanderKirillov,项目名称:Script-Executor-ROOT,代码行数:43,代码来源:RootToolsInternalMethods.java
示例12: getSymlinks
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
/**
* This will return an ArrayList of the class Symlink. The class Symlink contains the following
* property's: path SymplinkPath
* <p/>
* These will provide you with any Symlinks in the given path.
*
* @param path path to search for Symlinks.
* @return <code>ArrayList<Symlink></code> an ArrayList of the class Symlink.
* @throws Exception if we cannot return the Symlinks.
*/
public ArrayList<Symlink> getSymlinks(String path) throws Exception {
// this command needs find
if (!checkUtil("find")) {
throw new Exception();
}
InternalVariables.symlinks = new ArrayList<>();
Command command = new Command(0, false, "find " + path + " -type l -exec ls -l {} \\;") {
@Override
public void commandOutput(int id, String line) {
if (id == Constants.GET_SYMLINKS) {
RootTools.log(line);
String[] fields = line.split(" ");
InternalVariables.symlinks.add(new Symlink(new File(fields[fields.length - 3]), // file
new File(fields[fields.length - 1]) // SymlinkPath
));
}
super.commandOutput(id, line);
}
};
Shell.startRootShell().add(command);
commandWait(Shell.startRootShell(), command);
if (InternalVariables.symlinks != null) {
return InternalVariables.symlinks;
} else {
throw new Exception();
}
}
开发者ID:AlexanderKirillov,项目名称:Script-Executor-ROOT,代码行数:45,代码来源:RootToolsInternalMethods.java
示例13: closeShell
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
/**
* This will close either the root shell or the standard shell depending on what you specify.
*
* @param root a <code>boolean</code> to specify whether to close the root shell or the standard shell.
*/
public static void closeShell(boolean root) throws IOException {
if (root) {
Shell.closeRootShell();
} else {
Shell.closeShell();
}
}
开发者ID:AlexanderKirillov,项目名称:Script-Executor-ROOT,代码行数:13,代码来源:RootShell.java
示例14: isAccessGiven
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
/**
* @return <code>true</code> if your app has been given root access.
* @throws TimeoutException if this operation times out. (cannot determine if access is given)
*/
public static boolean isAccessGiven() {
final Set<String> ID = new HashSet<String>();
final int IAG = 158;
try {
RootShell.log("Checking for Root access");
Command command = new Command(IAG, false, "id") {
@Override
public void commandOutput(int id, String line) {
if (id == IAG) {
ID.addAll(Arrays.asList(line.split(" ")));
}
super.commandOutput(id, line);
}
};
Shell.startRootShell().add(command);
commandWait(Shell.startRootShell(), command);
//parse the userid
for (String userid : ID) {
RootShell.log(userid);
if (userid.toLowerCase().contains("uid=0")) {
RootShell.log("Access Given");
return true;
}
}
return false;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
开发者ID:AlexanderKirillov,项目名称:Script-Executor-ROOT,代码行数:42,代码来源:RootShell.java
示例15: executeRootForAdaptiveBrightness
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void executeRootForAdaptiveBrightness(final Profile profile) {
final Context appContext = context.getApplicationContext();
PPApplication.startHandlerThread();
final Handler handler = new Handler(PPApplication.handlerThread.getLooper());
handler.post(new Runnable() {
@Override
public void run() {
PowerManager powerManager = (PowerManager) appContext.getSystemService(POWER_SERVICE);
PowerManager.WakeLock wakeLock = null;
if (powerManager != null) {
wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "ActivateProfileHelper.executeRootForAdaptiveBrightness");
wakeLock.acquire(10 * 60 * 1000);
}
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put system " + ADAPTIVE_BRIGHTNESS_SETTING_NAME + " " +
Float.toString(profile.getDeviceBrightnessAdaptiveValue(appContext));
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.execute", "Error on run su: " + e.toString());
}
}
}
if ((wakeLock != null) && wakeLock.isHeld())
wakeLock.release();
}
});
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:38,代码来源:ActivateProfileHelper.java
示例16: setAirplaneMode_SDK17
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setAirplaneMode_SDK17(/*Context context, */boolean mode)
{
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists())
{
// device is rooted
synchronized (PPApplication.startRootCommandMutex) {
String command1;
String command2;
if (mode) {
command1 = "settings put global airplane_mode_on 1";
command2 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true";
} else {
command1 = "settings put global airplane_mode_on 0";
command2 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false";
}
//if (PPApplication.isSELinuxEnforcing())
//{
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
// command2 = PPApplication.getSELinuxEnforceCommand(command2, Shell.ShellContext.SYSTEM_APP);
//}
Command command = new Command(0, false, command1, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("AirPlaneMode_SDK17.setAirplaneMode", "Error on run su");
}
}
}
//else
//{
//Log.e("ActivateProfileHelper.setAirplaneMode_SDK17","root NOT granted");
// for normal apps it is only possible to open the system settings dialog
/* Intent intent = new Intent(android.provider.Settings.ACTION_AIRPLANE_MODE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent); */
//}
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:40,代码来源:ActivateProfileHelper.java
示例17: setAdaptiveBrightness
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setAdaptiveBrightness(float value) {
if (adaptiveAllowed) {
if (android.os.Build.VERSION.SDK_INT < 23) // Not working in Android M (exception)
Settings.System.putFloat(_context.getContentResolver(),
ActivateProfileHelper.ADAPTIVE_BRIGHTNESS_SETTING_NAME, value);
else {
try {
Settings.System.putFloat(_context.getContentResolver(),
ActivateProfileHelper.ADAPTIVE_BRIGHTNESS_SETTING_NAME, value);
} catch (Exception ee) {
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put system " + ActivateProfileHelper.ADAPTIVE_BRIGHTNESS_SETTING_NAME + " " +
Float.toString(value);
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
//commandWait(command);
} catch (Exception e) {
Log.e("BrightnessDialogPreference.setAdaptiveBrightness", "Error on run su: " + e.toString());
}
}
}
}
}
}
}
开发者ID:henrichg,项目名称:PhoneProfiles,代码行数:31,代码来源:BrightnessDialogPreference.java
示例18: setNotificationLed
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setNotificationLed(int value) {
if (Profile.isProfilePreferenceAllowed(Profile.PREF_PROFILE_NOTIFICATION_LED, context)
== PPApplication.PREFERENCE_ALLOWED) {
if (android.os.Build.VERSION.SDK_INT < 23) // Not working in Android M (exception)
Settings.System.putInt(context.getContentResolver(), "notification_light_pulse", value);
else {
/* not working (private secure settings) :-/
if (Permissions.hasPermission(context, Manifest.permission.WRITE_SECURE_SETTINGS)) {
Settings.System.putInt(context.getContentResolver(), "notification_light_pulse", value);
}
else*/
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists()) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = "settings put system " + "notification_light_pulse" + " " + value;
//if (PPApplication.isSELinuxEnforcing())
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
Command command = new Command(0, false, command1); //, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.setNotificationLed", "Error on run su: " + e.toString());
}
}
}
}
}
}
开发者ID:henrichg,项目名称:PhoneProfilesPlus,代码行数:30,代码来源:ActivateProfileHelper.java
示例19: setNFC
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setNFC(Context context, boolean enable)
{
/*
Not working in debug version of application !!!!
Test with release version.
*/
//Log.e("ActivateProfileHelper.setNFC", "xxx");
if (Permissions.hasPermission(context, Manifest.permission.WRITE_SECURE_SETTINGS)) {
//Log.e("ActivateProfileHelper.setNFC", "permission granted!!");
CmdNfc.run(enable);
}
else
if (PPApplication.isRooted()/*PPApplication.isRootGranted()*/) {
synchronized (PPApplication.startRootCommandMutex) {
String command1 = PPApplication.getJavaCommandFile(CmdNfc.class, "nfc", context, enable);
//Log.e("ActivateProfileHelper.setNFC", "command1="+command1);
if (command1 != null) {
Command command = new Command(0, false, command1);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.NORMAL).add(command);
commandWait(command);
} catch (Exception e) {
Log.e("ActivateProfileHelper.setNFC", "Error on run su");
}
}
//String command = PPApplication.getJavaCommandFile(CmdNfc.class, "nfc", context, enable);
//if (command != null)
// RootToolsSmall.runSuCommand(command);
}
}
}
开发者ID:henrichg,项目名称:PhoneProfilesPlus,代码行数:34,代码来源:ActivateProfileHelper.java
示例20: setAirplaneMode_SDK17
import com.stericson.RootShell.execution.Shell; //导入依赖的package包/类
private void setAirplaneMode_SDK17(/*Context context, */boolean mode)
{
if (PPApplication.isRooted() && PPApplication.settingsBinaryExists())
{
// device is rooted
synchronized (PPApplication.startRootCommandMutex) {
String command1;
String command2;
if (mode) {
command1 = "settings put global airplane_mode_on 1";
command2 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true";
} else {
command1 = "settings put global airplane_mode_on 0";
command2 = "am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false";
}
//if (PPApplication.isSELinuxEnforcing())
//{
// command1 = PPApplication.getSELinuxEnforceCommand(command1, Shell.ShellContext.SYSTEM_APP);
// command2 = PPApplication.getSELinuxEnforceCommand(command2, Shell.ShellContext.SYSTEM_APP);
//}
Command command = new Command(0, true, command1, command2);
try {
//RootTools.closeAllShells();
RootTools.getShell(true, Shell.ShellContext.SYSTEM_APP).add(command);
//commandWait(command);
} catch (Exception e) {
Log.e("AirPlaneMode_SDK17.setAirplaneMode", "Error on run su");
}
PPApplication.logE("ActivateProfileHelper.setAirplaneMode_SDK17", "done");
}
}
//else
//{
// for normal apps it is only possible to open the system settings dialog
/* Intent intent = new Intent(android.provider.Settings.ACTION_AIRPLANE_MODE_SETTINGS);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent); */
//}
}
开发者ID:henrichg,项目名称:PhoneProfilesPlus,代码行数:40,代码来源:ActivateProfileHelper.java
注:本文中的com.stericson.RootShell.execution.Shell类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论