Skip to content

Instantly share code, notes, and snippets.

View chris-piekarski's full-sized avatar

Christopher Piekarski chris-piekarski

  • Boulder, CO
  • 03:12 (UTC)
View GitHub Profile
@chris-piekarski
chris-piekarski / start_stop_services_via_adb
Last active December 22, 2021 06:50
android am force-stop and start services
adb -d shell am force-stop com.android.Settings
adb -d shell am startservice com.android.Settings/com.android.Settings.ServiceName
#list intent receivers
adb shell dumpsys package com.ubnt.restapi | grep intent
adb shell pm list packages
#force factory reset
adb shell "am broadcast -n "com.android.server/com.android.server.MasterClearReceiver" -a android.intent.action.FACTORY_RESET"
@chris-piekarski
chris-piekarski / gist:7257952
Created October 31, 2013 22:01
Android LooperThread
class LooperThread extends Thread {
public Handler mHandler;
@Override
public void run() {
Looper.prepare();
mHandler = new Handler();
Looper.loop();
@chris-piekarski
chris-piekarski / gcc_include_path_check
Created November 20, 2013 18:31
Inspect arm-gcc include paths
echo "#include <bogus.h>" | arm-linux-gnueabi-gcc -v -x c -
@chris-piekarski
chris-piekarski / list_android_sensors
Created November 25, 2013 17:13
List Android Sensors
import android.hardware.SensorManager;
private SensorManager mSensorManager;
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
@chris-piekarski
chris-piekarski / android_js_webview_proguard
Created December 11, 2013 17:57
Android Webview JavaScript and Proguard
In the project proguard-project.txt file see:
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
-keepclassmembers class com.me.MeWebViewHelper.MyJSInterface {
public *;
}
@chris-piekarski
chris-piekarski / android_cert_paths
Created December 18, 2013 22:42
Android TrustedCertificateStore.java Cert Paths
String ANDROID_ROOT = System.getenv("ANDROID_ROOT");
String ANDROID_DATA = System.getenv("ANDROID_DATA");
CA_CERTS_DIR_SYSTEM = new File(ANDROID_ROOT + "/etc/security/cacerts");
CA_CERTS_DIR_ADDED = new File(ANDROID_DATA + "/misc/keychain/cacerts-added");
CA_CERTS_DIR_DELETED = new File(ANDROID_DATA + "/misc/keychain/cacerts-removed");
@chris-piekarski
chris-piekarski / HelloWorldApp.java
Last active January 2, 2016 03:59
How does Java try/catch/finally work?
package com.cpiekarski.helloworld;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
/**
* javac -d . HelloWorldApp.java
* java -cp . com.cpiekarski.helloworld.HelloWorldApp
@chris-piekarski
chris-piekarski / android_timezone_listener
Created January 10, 2014 21:30
Android TimeZone Listener
public static void registerTimezoneListener() {
IntentFilter timezoneFilter = new IntentFilter(Intent.ACTION_TIMEZONE_CHANGED);
BroadcastReceiver timezoneReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context context, Intent intent){
Log.d(TAG, "TIMEZONE CHANGED!");
}
};
Context.registerReceiver(timezoneReceiver, timezoneFilter);
@chris-piekarski
chris-piekarski / intent_package_name
Created January 22, 2014 21:12
Log package name of incoming Intent
import android.content.pm.PackageManager;
import android.os.Binder;
import android.content.Intent;
class {
@Override
public void onReceive(Context context, Intent intent) {
Log.v(TAG, context.getPackageManager().getNameForUid(Binder.getCallingUid()));
}
}
@chris-piekarski
chris-piekarski / android_wifi_status
Last active August 29, 2015 13:56
Properly control Android service state based on Wifi status
private void registerConnectivityChange() {
BroadcastReceiver connectionReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// When just using the ConnectivityManager you can get identical intents
// twice within one second. So we need to use the WifiManager & ConnectivityManager
// to determine true state
if (intent.getAction().equals(WifiManager.NETWORK_STATE_CHANGED_ACTION)) {
NetworkInfo networkInfo = intent