当前位置:编程学习 > JAVA >>

source code

Java代码 
/**
 * Broadcast receiver that set iptable rules on system startup.
 * This is necessary because the iptables rules are not persistent.
 * 
 * Copyright (C) 2009-2010  Rodrigo Zechin Rosauro
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @author Rodrigo Zechin Rosauro
 * @version 1.0
 */ 
package com.googlecode.droidwall; 
 
import android.content.BroadcastReceiver; 
import android.content.Context; 
import android.content.Intent; 
import android.os.Handler; 
import android.os.Message; 
import android.widget.Toast; 
 
/**
 * Broadcast receiver that set iptables rules on system startup. This is
 * necessary because the rules are not persistent.
 */ 
public class BootAndShutdownBroadcast extends BroadcastReceiver { 
 
    @Override 
    public void onReceive(final Context context, final Intent intent) { 
        if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) { 
            if (Api.isEnabled(context)) { 
                final Handler toaster = new Handler() { 
                    public void handleMessage(Message msg) { 
                        if (msg.arg1 != 0) 
                            Toast.makeText(context, msg.arg1, 
                                    Toast.LENGTH_SHORT).show(); 
                    } 
                }; 
                // Start a new thread to enable the firewall - this prevents ANR 
                new Thread() { 
                    @Override 
                    public void run() { 
                        if (!Api.applySavedIptablesRules(context, false)) { 
                            // Error enabling firewall on boot 
                            final Message msg = new Message(); 
                            msg.arg1 = R.string.toast_error_enabling; 
                            toaster.sendMessage(msg); 
                            Api.setEnabled(context, false); 
                        } 
                    } 
                }.start(); 
            } 
        } else if (Intent.ACTION_SHUTDOWN.equals(intent.getAction())) { 
            new Thread() { 
                @Override 
                public void run() { 
                    Api.storageTraffic(context); 
                } 
            }.start(); 
        } 
    } 

 api.java
Java代码 
/**
 * Contains shared programming inte易做图ces.
 * All iptables "communication" is handled by this class.
 * 
 * Copyright (C) 2009-2010  Rodrigo Zechin Rosauro
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 *
 * @author Rodrigo Zechin Rosauro
 * @version 1.0
 */ 
 
package com.googlecode.droidwall; 
 
import java.io.BufferedReader; 
import java.io.File; 
import java.io.FileOutputS

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,