Skip to content

Commit dd2342b

Browse files
committed
[commit] 增加方法
1 parent 5daedfe commit dd2342b

File tree

10 files changed

+556
-50
lines changed

10 files changed

+556
-50
lines changed

library/src/main/AndroidManifest.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
2727
<uses-permission android:name="android.permission.GET_ACCOUNTS"/>
2828
<uses-permission android:name="android.permission.INTERNET"/>
29+
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
2930

3031
<application
3132
android:allowBackup="true"

library/src/main/java/com/code19/library/AppUtils.java

Lines changed: 185 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package com.code19.library;
1818

19+
import android.app.ActivityManager;
20+
import android.app.ActivityManager.RunningServiceInfo;
1921
import android.content.Context;
2022
import android.content.Intent;
2123
import android.content.pm.ApplicationInfo;
@@ -26,16 +28,24 @@
2628
import android.text.TextUtils;
2729
import android.util.Log;
2830

31+
import java.io.BufferedReader;
32+
import java.io.DataOutputStream;
2933
import java.io.File;
34+
import java.io.FileFilter;
35+
import java.io.IOException;
36+
import java.io.InputStreamReader;
37+
import java.lang.reflect.Method;
38+
import java.util.Iterator;
3039
import java.util.List;
40+
import java.util.regex.Pattern;
3141

3242
/**
3343
* Create by h4de5ing 2016/5/18 018
3444
* checked
3545
*/
3646
public class AppUtils {
3747

38-
public static String getAppName(Context context,String packageName) {
48+
public static String getAppName(Context context, String packageName) {
3949
PackageManager pm = context.getPackageManager();
4050
String appName = null;
4151
try {
@@ -48,7 +58,7 @@ public static String getAppName(Context context,String packageName) {
4858
}
4959

5060

51-
public static Drawable getAppIcon(Context context,String packageName) {
61+
public static Drawable getAppIcon(Context context, String packageName) {
5262
PackageManager pm = context.getPackageManager();
5363
Drawable appIcon = null;
5464
try {
@@ -61,7 +71,7 @@ public static Drawable getAppIcon(Context context,String packageName) {
6171
}
6272

6373

64-
public static long getAppDate(Context context,String packageName ) {
74+
public static long getAppDate(Context context, String packageName) {
6575
long lastUpdateTime = 0;
6676
try {
6777
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
@@ -73,7 +83,7 @@ public static long getAppDate(Context context,String packageName ) {
7383
}
7484

7585

76-
public static long getAppSize(Context context,String packageName ) {
86+
public static long getAppSize(Context context, String packageName) {
7787
long appSize = 0;
7888
try {
7989
ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(packageName, 0);
@@ -84,7 +94,7 @@ public static long getAppSize(Context context,String packageName ) {
8494
return appSize;
8595
}
8696

87-
public static String getAppApk(Context context,String packageName) {
97+
public static String getAppApk(Context context, String packageName) {
8898
String sourceDir = null;
8999
try {
90100
ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(packageName, 0);
@@ -95,7 +105,7 @@ public static String getAppApk(Context context,String packageName) {
95105
return sourceDir;
96106
}
97107

98-
public static String getAppVersionName(Context context,String packageName) {
108+
public static String getAppVersionName(Context context, String packageName) {
99109
String appVersion = null;
100110
try {
101111
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
@@ -106,7 +116,7 @@ public static String getAppVersionName(Context context,String packageName) {
106116
return appVersion;
107117
}
108118

109-
public static int getAppVersionCode(Context context,String packageName) {
119+
public static int getAppVersionCode(Context context, String packageName) {
110120
int appVersionCode = 0;
111121
try {
112122
PackageInfo packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
@@ -199,4 +209,172 @@ public static boolean isSystemApp(Context context, String packageName) {
199209
return isSys;
200210
}
201211

212+
/**
213+
* className "com.xxx.xx..XXXService"
214+
*/
215+
public static boolean isServiceRunning(Context context, String className) {
216+
boolean isRunning = false;
217+
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
218+
List<RunningServiceInfo> servicesList = activityManager.getRunningServices(Integer.MAX_VALUE);
219+
Iterator<RunningServiceInfo> l = servicesList.iterator();
220+
while (l.hasNext()) {
221+
RunningServiceInfo si = (RunningServiceInfo) l.next();
222+
if (className.equals(si.service.getClassName())) {
223+
isRunning = true;
224+
}
225+
}
226+
return isRunning;
227+
}
228+
229+
public static boolean stopRunningService(Context context, String className) {
230+
Intent intent_service = null;
231+
boolean ret = false;
232+
try {
233+
intent_service = new Intent(context, Class.forName(className));
234+
} catch (Exception e) {
235+
e.printStackTrace();
236+
}
237+
if (intent_service != null) {
238+
ret = context.stopService(intent_service);
239+
}
240+
return ret;
241+
}
242+
243+
public static int getNumCores() {
244+
try {
245+
//Get directory containing CPU info
246+
File dir = new File("/sys/devices/system/cpu/");
247+
//Filter to only list the devices we care about
248+
File[] files = dir.listFiles(new FileFilter() {
249+
250+
@Override
251+
public boolean accept(File pathname) {
252+
//Check if filename is "cpu", followed by a single digit number
253+
if (Pattern.matches("cpu[0-9]", pathname.getName())) {
254+
return true;
255+
}
256+
return false;
257+
}
258+
259+
});
260+
//Return the number of cores (virtual CPU devices)
261+
return files.length;
262+
} catch (Exception e) {
263+
e.printStackTrace();
264+
return 1;
265+
}
266+
}
267+
268+
public static void killProcesses(Context context, int pid, String processName) {
269+
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
270+
String packageName = null;
271+
try {
272+
if (processName.indexOf(":") == -1) {
273+
packageName = processName;
274+
} else {
275+
packageName = processName.split(":")[0];
276+
}
277+
activityManager.killBackgroundProcesses(packageName);
278+
Method forceStopPackage = activityManager.getClass().getDeclaredMethod("forceStopPackage", String.class);
279+
forceStopPackage.setAccessible(true);
280+
forceStopPackage.invoke(activityManager, packageName);
281+
} catch (Exception e) {
282+
e.printStackTrace();
283+
}
284+
}
285+
286+
public static String runScript(String script) {
287+
String sRet = "";
288+
try {
289+
final Process m_process = Runtime.getRuntime().exec(script);
290+
final StringBuilder sbread = new StringBuilder();
291+
Thread tout = new Thread(new Runnable() {
292+
public void run() {
293+
BufferedReader bufferedReader = new BufferedReader(
294+
new InputStreamReader(m_process.getInputStream()),
295+
8192);
296+
String ls_1 = null;
297+
try {
298+
while ((ls_1 = bufferedReader.readLine()) != null) {
299+
sbread.append(ls_1).append("\n");
300+
}
301+
} catch (IOException e) {
302+
e.printStackTrace();
303+
} finally {
304+
try {
305+
bufferedReader.close();
306+
} catch (IOException e) {
307+
e.printStackTrace();
308+
}
309+
}
310+
}
311+
});
312+
tout.start();
313+
314+
final StringBuilder sberr = new StringBuilder();
315+
Thread terr = new Thread(new Runnable() {
316+
public void run() {
317+
BufferedReader bufferedReader = new BufferedReader(
318+
new InputStreamReader(m_process.getErrorStream()),
319+
8192);
320+
String ls_1 = null;
321+
try {
322+
while ((ls_1 = bufferedReader.readLine()) != null) {
323+
sberr.append(ls_1).append("\n");
324+
}
325+
} catch (IOException e) {
326+
e.printStackTrace();
327+
} finally {
328+
try {
329+
bufferedReader.close();
330+
} catch (IOException e) {
331+
e.printStackTrace();
332+
}
333+
}
334+
}
335+
});
336+
terr.start();
337+
338+
int retvalue = m_process.waitFor();
339+
while (tout.isAlive()) {
340+
Thread.sleep(50);
341+
}
342+
if (terr.isAlive())
343+
terr.interrupt();
344+
String stdout = sbread.toString();
345+
String stderr = sberr.toString();
346+
sRet = stdout + stderr;
347+
} catch (Exception e) {
348+
e.printStackTrace();
349+
return null;
350+
}
351+
return sRet;
352+
}
353+
354+
public static boolean getRootPermission(Context context) {
355+
String packageCodePath = context.getPackageCodePath();
356+
Process process = null;
357+
DataOutputStream os = null;
358+
try {
359+
String cmd = "chmod 777 " + packageCodePath;
360+
process = Runtime.getRuntime().exec("su");
361+
os = new DataOutputStream(process.getOutputStream());
362+
os.writeBytes(cmd + "\n");
363+
os.writeBytes("exit\n");
364+
os.flush();
365+
process.waitFor();
366+
} catch (Exception e) {
367+
return false;
368+
} finally {
369+
try {
370+
if (os != null) {
371+
os.close();
372+
}
373+
process.destroy();
374+
} catch (Exception e) {
375+
e.printStackTrace();
376+
}
377+
}
378+
return true;
379+
}
202380
}

library/src/main/java/com/code19/library/BitmapUtils.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ public static Bitmap getImageThumbnail(String imagePath) {
110110
}
111111
return bitmap;
112112
}
113-
public static Bitmap createCircularClip(Bitmap input, int width, int height) {
113+
114+
public static Bitmap createCircularClip(Bitmap input, int width, int height) {
114115
if (input == null) return null;
115116

116117
final int inWidth = input.getWidth();

library/src/main/java/com/code19/library/DeviceUtils.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
import android.telephony.TelephonyManager;
3232
import android.util.DisplayMetrics;
3333
import android.view.WindowManager;
34-
import android.view.inputmethod.InputMethodManager;
3534
import android.webkit.WebView;
36-
import android.widget.EditText;
3735

3836
import java.net.InetAddress;
3937
import java.net.NetworkInterface;
@@ -376,22 +374,4 @@ public static boolean isRunningOnEmulator() {
376374
|| Build.HARDWARE.contains("vbox86");
377375
}
378376

379-
380-
public static void showSoftInputMethod(Context context, EditText editText) {
381-
if (context != null && editText != null) {
382-
editText.requestFocus();
383-
InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
384-
inputManager.showSoftInput(editText, 0);
385-
}
386-
}
387-
388-
389-
public static void hideSoftInputMethod(Context context, EditText editText) {
390-
if (context != null && editText != null) {
391-
InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
392-
if (imm != null) {
393-
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
394-
}
395-
}
396-
}
397377
}

library/src/main/java/com/code19/library/FileUtils.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,4 +221,29 @@ public static boolean deleteFiles(String folder) {
221221
return file.delete();
222222
}
223223

224+
public static void openImage(Context mContext, String imagePath) {
225+
Intent intent = new Intent("android.intent.action.VIEW");
226+
intent.addCategory("android.intent.category.DEFAULT");
227+
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
228+
Uri uri = Uri.fromFile(new File(imagePath));
229+
intent.setDataAndType(uri, "image/*");
230+
mContext.startActivity(intent);
231+
}
232+
233+
public static void openVideo(Context mContext, String videoPath) {
234+
Intent intent = new Intent("android.intent.action.VIEW");
235+
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
236+
intent.putExtra("oneshot", 0);
237+
intent.putExtra("configchange", 0);
238+
Uri uri = Uri.fromFile(new File(videoPath));
239+
intent.setDataAndType(uri, "video/*");
240+
mContext.startActivity(intent);
241+
}
242+
243+
public static void openURL(Context mContext, String url) {
244+
Uri uri = Uri.parse(url);
245+
Intent intent = new Intent(Intent.ACTION_VIEW, uri);
246+
mContext.startActivity(intent);
247+
}
248+
224249
}

library/src/main/java/com/code19/library/NetUtils.java

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,14 @@
2222
import android.content.Intent;
2323
import android.net.ConnectivityManager;
2424
import android.net.NetworkInfo;
25+
import android.net.wifi.ScanResult;
26+
import android.net.wifi.WifiInfo;
27+
import android.net.wifi.WifiManager;
2528
import android.telephony.TelephonyManager;
2629
import android.text.TextUtils;
2730

31+
import java.util.List;
32+
2833
/**
2934
* Blog : http://blog.csdn.net/u011240877
3035
* checked
@@ -157,4 +162,38 @@ private static boolean isFastMobileNetwork(Context context) {
157162
return false;
158163
}
159164
}
165+
166+
public static void setWifiEnabled(Context context, boolean enabled) {
167+
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
168+
wifiManager.setWifiEnabled(enabled);
169+
}
170+
171+
public static List<ScanResult> getWifiScanResults(Context context) {
172+
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
173+
return wifiManager.startScan() ? wifiManager.getScanResults() : null;
174+
}
175+
176+
public static ScanResult getScanResultsByBSSID(Context context, String bssid) {
177+
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
178+
ScanResult scanResult = null;
179+
boolean f = wifiManager.startScan();
180+
if (!f) {
181+
getScanResultsByBSSID(context, bssid);
182+
}
183+
List<ScanResult> list = wifiManager.getScanResults();
184+
if (list != null) {
185+
for (int i = 0; i < list.size(); i++) {
186+
scanResult = list.get(i);
187+
if (scanResult.BSSID.equals(bssid)) {
188+
break;
189+
}
190+
}
191+
}
192+
return scanResult;
193+
}
194+
195+
public static WifiInfo getWifiConnectionInfo(Context context) {
196+
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
197+
return wifiManager.getConnectionInfo();
198+
}
160199
}

0 commit comments

Comments
 (0)