Android模拟特殊Action的Broadcast


execShell("am broadcast -a android.net.conn.CONNECTIVITY_CHANGE -e networkInfo \"NetworkInfo: type: WIFI[], state: CONNECTED/CONNECTED, reason: (unspecified), extra: (none), roaming: false, failover: false, isAvailable: true\" com.tencent.mobileqq")
public String execShell(String cmd){
    	try{  
            //权限设置
    		Process p = Runtime.getRuntime().exec("su");  
            //获取输出流
            OutputStream outputStream = p.getOutputStream();
            DataOutputStream dataOutputStream=new DataOutputStream(outputStream);
            //将命令写入
            dataOutputStream.writeBytes(cmd);
            //提交命令
            dataOutputStream.flush();
            //关闭流操作
            dataOutputStream.close();
            outputStream.close();
            
            InputStream inputstream = p.getInputStream();
    		InputStreamReader inputstreamreader = new InputStreamReader(inputstream);
    		BufferedReader bufferedreader = new BufferedReader(inputstreamreader);


    		// read the ls output


    		String line = "";
    		StringBuilder sb = new StringBuilder(line);
    		while ((line = bufferedreader.readLine()) != null) {
    		//System.out.println(line);
    		sb.append(line);
    		sb.append('\n');
    		}
    		return sb.toString();
    	}  
    	catch(Throwable t)  
       	{
		t.printStackTrace();  
       	}
    	return "";
    	
}


代码中执行adb shell命令.发送特殊action的广播(直接sendBroadcast会有权限问题).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值