最近做的一个项目要用到导航功能,因为时间关系,没有在本应用中实现,偷了个懒,就准备点击导航按钮,直接打开百度地图导航,因此写了个小demo进行测试,因为跳转到百度地图要用到百度地图的包名和启动activity (这个不知道的看代码,代码有注释),因此先反编译百度地图,我用的是apktool,只要求得到AndroidManifest.xml即可。apktool网上有很多,建议下载最新版本,因为用旧的版本的话 有些应用反编译的时候会报错。好了 下面是我得到的清单文件
上面红线标识的是关键要素,通过这个找到包名和启动类名,主要代码如下
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView ip=(TextView)findViewById(R.id.ip);
ip.setText(getLocalIpAddress()+"ip地址");
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent=new Intent();
intent.setComponent(new ComponentName("com.baidu.BaiduMap", "com.baidu.BaiduMap.BaiduMap"));
startActivity(intent);
}
});
}
看过代码之后应该明白为什么要知道需要被跳转的包名了和启动类了吧 布局就很简单,就是一个Button控件,就不贴出来了 。