Android自定义抓包调用其它应用程序
2013-03-21 19:52
176 查看
啥也不说,上代码。代码懂了,啥都懂了。
package com.example.test321; import java.util.ArrayList; import java.util.List; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private Button btn1,btn2,btn3,btn4; private static List<String> name=null; private static String txt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn1=(Button) findViewById(R.id.button1);//点击则查看所有程序包名 btn2=(Button) findViewById(R.id.button2);//点击则调用酷狗 btn3=(Button) findViewById(R.id.button3);//点击则调用QQ btn4=(Button) findViewById(R.id.button4);//点击则自定义抓包 btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //name.add(txt); Toast.makeText(MainActivity.this,getTxt(),Toast.LENGTH_SHORT).show(); if(getAllApps(MainActivity.this)){ Intent it =new Intent(MainActivity.this,Outs.class); it.putExtra("txtname", getTxt()); startActivity(it); } } }); btn2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub callApp("com.kugou.android"); } }); btn3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub callApp("com.tencent.mobileqq"); } }); btn4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setDialog(); } }); } public static boolean getAllApps(Context context){ try { //List<PackageInfo> apps = new ArrayList<PackageInfo>(); PackageManager pManager = context.getPackageManager(); List<PackageInfo> pkList = pManager.getInstalledPackages(0); for(int i=0;i<pkList.size();i++){ PackageInfo pk = (PackageInfo)pkList.get(i); txt+=pk.packageName+"\n"; // apps.add(pk); } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return true; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public static String getTxt() { return txt; } public String setDialog(){ final EditText mEditText = new EditText(this); Dialog dia=new AlertDialog.Builder(this).setTitle("请输入调用程序的相应包名").setIcon(android.R.drawable.ic_dialog_info).setView(mEditText) .setPositiveButton("调用",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub callApp(mEditText.getText().toString()); } } ) .setNegativeButton("取消", null).show(); return null; } public void callApp(String appName){ PackageManager pManager=MainActivity.this.getPackageManager(); try{ Intent it=new Intent(pManager.getLaunchIntentForPackage(appName)); startActivity(it); } catch(Exception e){ e.printStackTrace(); Toast.makeText(this, "请输入正确的包名", Toast.LENGTH_LONG).show(); } } }
package com.example.test321; import java.util.ArrayList; import android.app.Activity; import android.content.Intent; import android.content.pm.ActivityInfo; import android.os.Bundle; import android.text.Layout; import android.view.Window; import android.view.WindowManager; import android.widget.ScrollView; import android.widget.TextView; public class Outs extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); /** * 注:标题。全屏。横竖屏均可以在布局中静态注册 */ requestWindowFeature(Window.FEATURE_NO_TITLE);// 设置无标题 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);// 强制为横屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);// 设置全屏 setContentView(R.layout.activity_out); Intent it = getIntent(); String txtContent=it.getStringExtra("txtname"); TextView txt = (TextView) findViewById(R.id.txt); //txt.setBackgroundDrawable(getWallpaper()); txt.setBackgroundColor(0x00000000); txt.setTextColor(0xFF0000FF); txt.setTextSize(20); txt.setText(txtContent); } }
相关文章推荐
- android 获取当前版本号/修改自定义的应用程序的版本号
- 调用Android系统“应用程序信息(Application Info)”界面
- Linux Kernel(Android) 加密算法总结(三)-应用程序调用内核加密算法接口
- android之应用程序如何调用支付宝接口
- Android四大组件之ContentProvider 全面解析,ContentResolver源码解析如何调用其它APP的ContentProvider
- android的应用程序调用另一个应用程序的方法
- Android调用系统相机、自定义相机、处理大图片
- Android 自定义 Application 多次调用
- Android调用系统相机以及自定义相机
- Android打开其它应用程序
- android应用程序如何调用支付宝接口
- Android之应用程序如何调用支付宝接口
- android 获取当前版本号/修改自定义的应用程序的版本号
- Android 客户端调用基于XFire的webService方法传递自定义对象
- DedeCMS留言板或其它自定义页面调用模板的方法
- android应用程序抓包
- 在IBW中的Windows PE阶段调用自定义应用程序应注意的路径问题
- java中调用adb shell 命令启动android应用程序
- Android调用系统相机和自定义相机实例
- 【转】C#自定义控件:WinForm将其它应用程序窗体嵌入自己内部