读书人

【九秒自研】干掉敌对手机应用进程的S

发布时间: 2013-10-09 22:26:11 作者: rapoo

【9秒自研】干掉敌对手机应用进程的SDK——Gingo SDK

Gingo sdk应用于cocos2d-x跨平台开发,针对android平台,用于检测系统中是否存在与当前安装程序可能冲突的应用程序,Gingo SDK包括ProcessJni.cpp,ProcessJni.h和procesdetect.jar,notice.xml四个文件,具体使用方法如下(以下步骤均为mac下进行,windows下没有试过,不过在使用上应该没问题,有可能会出现路径错误等问题,需根据实际出现的错误做相应的修改)。

#include ProcessJni.h
bool HelloWorld::init()
{
if(!CCLayer::init())
{
return false;
}
ProcessJni::getInstance()->startCallJni();;
return true;
}

A.在Xcode下的工程中,将ProcessJni.cpp和ProcessJni.h复制进Classes文件夹,在程序的入口处,例如HelloWorld.cpp,在其对应的初始化方法中将ProcessJni类的startCallJni()方法调入.

打开ProcessJni.cpp找到getStaticMethodInfo()方法,修改此方法的第二个参数,此参数对应于自己eclipse下的工程的包名+启动类名,这需要自己手动修改。例如例子使用的路径是”org/com/JarTest/JarTest”,”org/com/JarTest”为包名,”JarTest”为src下的类名。

B.打开eclipse,右击工程New->Source Folder,文件夹的name为lib,将procesdetect.jar复制进此文件夹,右击procesdetect.jar->add build path,在Referenced Libraries可以看见刚添加进去的jar包。

将notice.xml复制进入src目录,和其他package平级,不要放进其他package,以免出现不必要的错误,打开notice.xml可以看见里面有package_name和notify_message两个标签,此处使用者可以自己编辑里面内容。第一项是有可能冲突的包名,假如本应用和QQ音乐程序冲突,则在此处填写上QQ音乐的安装包名,进入应用程序后,如果系统有QQ音乐的进程在运行,则会提示是否要关闭QQ音乐(当然,去查看完整的包名是比较麻烦的,填写包名时也可以只填写其中一个字段,这个字段最好和其他应用程序包名有明显的区别,通常包名都为com.Mycompany.appname,所以一般填写公司名。比如QQ音乐的应用程序的包肯定都会有tecent这一字段)。

第二个字段为一般的弹出框的提示信息,没什么限制。

C.打开eclipse下的工程,在src下找到你创建工程时生成的类,打开此类,添加如下代码。

private static Handler handler;
private static final int SEND_MESSAGE = 2;
public static ActivityManager mActivityManager = null;
public static void checkProcesses(){
Message msg=new Message();
msg.what=SEND_MESSAGE;
Log.d("Messages","Start process");
handler.sendMessage(msg);

同时在onCreate()方法中添加如下代码,

handler = new Handler(){
public void handleMessage(Message msg) {
if(msg.what==SEND_MESSAGE)
{
try
{
Class.forName("org.com.TestFirst.ProcessDet");
}catch(ClassNotFoundException e)
{
System.out.println("Error!");
}
Intent intent = new Intent(JarTest.this,ProcessDet.class);//JarTest 要换成自己的类名</div>
startActivity(intent);
}
}
};

D.打开AndroidManifest.xml,将如下代码加入Application节点

<activity android:name="org.com.TestFirst.ProcessDet"
android:screenOrientation="portrait"
android:configChanges="orientation|keyboardHidden|navigation">
</activity>

添加权限:

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>

这样,SDK的接入已经完成。

Gingo SDK下载地址:

http://www.9miao.com/thread-43873-1-1.html

读书人网 >移动开发

热点推荐