最近自己在汉化分析
Android只带的“
设置”程序(即settings.apk)时候,发现settings.apk几乎囊括了
android全部的
设置项,进一步仔细分析其Manifest时,发现了里面实现了一些十分有用的Activity,但是"
设置“程序并没有显示出来,也找不到调用入口,难道是
Android故意隐藏的?因为手头没有Settings.apk的源码,于是乎,在处于强烈好奇的驱使下,决定简单写些代码调用其中的Activity显示出来看看究竟...
说干就干,俺就选择了调用Settings.apk中的
com.android.settings.RadioInfo
来看看, 具体方法很简单,直接用startActivity()函数发送对应类的Intent即可!创建一个最简单的
android项目,然后修改其代码,代码当然非常简单啦,各位看官不要笑话哦。主要代码文件就一个,即RadioInfo.java,具体代码如下:
--------------------------------------------------------------------------------------------------------------------------------
*
**强行调用com.android.settings.RadioInfo 显示其Activity。
**Author:monner
*/
package my.android.tool;
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
public class RadioInfo extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//setContentView(R.layout.main);
Intent startIntent = new Intent();
startIntent.setClassName("com.android.settings" "com.android.settings.RadioInfo");
startActivity(startIntent);
finish();
}
}
--------------------------------------------------------------------------------------------------------------------------------
具体工程创建步骤非常简单,我就不多说了,搞定后编译通过,导入手机一运行,哈哈,你猜发现了什么,果然是个隐蔽的
设置界面,而且还有模有样,竟然提供了非常详细的
网络信息,而且还有个惊人发现!!!竟然运行效果和Google市场上有个叫de.mangelow.network 的小软件运行效果一摸一样!!!原来这个软件实际也是调用这个隐藏功能实现的。大家动手试试看,这么简单的代码就实现了