Android adb命令修改配置或属性 adb发送广播

在上一次博客http://blog.youkuaiyun.com/qazqwdxz/article/details/45248781

提到了如何输出logcat到文件,但一有问题又要调试,必须修改代码,如果一直开启功能又要定期删除logcat文件。使用不是太方便。

如果是一般的解决方法是将属性或配置写到某个properties里读写,本文使用另外一种更加简便的方法来达到目的。

就是使用Broadcast和SharedPreferences


import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

public class PreferencesManager extends BroadcastReceiver {

	public static boolean DEBUG = true;
	private SharedPreferences preferences = null;
	private boolean isLogcat = false;
	@Override
	public void onReceive(Context context, Intent intent) {
		// TODO Auto-generated method stub
		DEBUG = intent.getBooleanExtra("Debug", DEBUG);
		if(preferences == null)
			preferences = context.getSharedPreferences("PreferencesManager", Activity.MODE_PRIVATE);
		SharedPreferences.Editor editor = preferences.edit();
		editor.putBoolean("Debug",DEBUG);
		editor.commit(); 
		
		if(intent.getBooleanExtra("Logcat", false)){
			LogcatManager.getInstance().startLogcatToFile(context);
			isLogcat = true;
			
		}else{
			if(isLogcat) {
				LogcatManager.getInstance().stopLogcatToFile();
				isLogcat = false;
				
			}
		}
	}
	
	public void initPreferences(Context context){
		if(preferences == null)
			preferences = context.getSharedPreferences("PreferencesManager", Activity.MODE_PRIVATE);
		DEBUG = preferences.getBoolean("Debug", DEBUG);
	}
	
}

然后使用adb命令就能可以主动打开关闭功能了,adb使用方法

开启功能:adb shell am broadcast -a com.android.test --ez Debug true

关闭功能:adb shell am broadcast -a com.android.test --ez Debug false


adb发送广播详细用法:

adb shell am broadcast 后面的参数有:

[-a <ACTION>]
[-d <DATA_URI>]
[-t <MIME_TYPE>]
[-c <CATEGORY> [-c <CATEGORY>] ...]
[-e|--es <EXTRA_KEY> <EXTRA_STRING_VALUE> ...]
[--ez <EXTRA_KEY> <EXTRA_BOOLEAN_VALUE> ...]
[-e|--ei <EXTRA_KEY> <EXTRA_INT_VALUE> ...]
[-n <COMPONENT>]
[-f <FLAGS>] [<URI>]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值