1、开发一个名为OpenNoIconAPP.apk的主APP,里面就一个按钮用于点击后打开子APP,核心跳转代码如下:

public void onClick(View view) {    switch (view.getId()) {    case R.id.btn_open_app:         /*         * Intent intent = getPackageManager().getLaunchIntentForPackage(         * "com.example.noicontest"); if (intent != null) { //         * startActivity(intent); } else {          * Toast.makeText(getApplicationContext(), "没有该子APP,请下载安装",         * Toast.LENGTH_LONG).show(); }         */        Intent intent = new Intent();        ComponentName cn = new ComponentName("com.example.noiconapp","com.example.noiconapp.MainActivity");        intent.setComponent(cn);        intent.setAction("android.intent.action.MAIN");        try {            startActivityForResult(intent, RESULT_OK);        } catch (Exception e) {            Toast.makeText(this, "没有该子APP,请下载安装",Toast.LENGTH_SHORT).show();        }        break;    default:        break;    }}

2、开发名为NoIconAPP.apk的子APP(用于主APP去打开),该APP主要实现在桌面不显示图标。其中要想不显示桌面图标只需修改AndroidManifest.xml文件即可。具体如下:

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.noiconapp"android:versionCode="1"android:versionName="1.0" ><uses-sdk    android:minSdkVersion="14"    android:targetSdkVersion="14" /><application    android:allowBackup="true"    android:icon="@drawable/ic_launcher"    android:label="@string/app_name"    android:theme="@style/AppTheme" >    <activity        android:name="com.example.noiconapp.MainActivity"        android:label="@string/app_name" >        <intent-filter>            <action android:name="android.intent.action.MAIN" />            <!-- 要想在桌面不显示图标,只需注释掉APP入口Activity中的下面这句即可,或者把下面的LAUNCHER改成DEFAULT也行 -->            <!-- <category android:name="android.intent.category.LAUNCHER" /> -->        </intent-filter>    </activity></application></manifest>

3、上面的设置可以让桌面图标不显示的原因:

一般情况下,当我们的APK在被安装后,系统会自动创建我们的APK程序,系统Launcher(系统桌面应用程序)会自动检测系统已经安装的应用软件的包名,然后把这些APP的图标和名称解析出来后显示在应用程序列表里,一旦我们像上面那样设置不显示APK图标,则APK程序在运行后只会显示在“正在运行”的程序列表中,而不会在桌面上显示图标和名字。如果只是设置APP图标不可见而使用第一种方式(我注释的代码)打开APP是不会成功的,因为这样设置后,包名根本就没有加载到Launcher,所以通过 getPackageManager().getLaunchIntentForPackage()方法得到的Intent为null。

更多相关文章

  1. 在Android中启动执行java程序
  2. Android开发者指南(15) ―― Managing Virtual Devices
  3. Android(安卓)分享(网址)微信,微信朋友圈,QQ,QQ空间,分享小程序
  4. Android, adb 安装后不能启动
  5. actionbar 详解教程
  6. android listview滑动设置浮标半透明效果
  7. Android设备兼容性 1
  8. Android开发者必备的14个工具资源
  9. android 内存泄露--加载网络图片--android 12742656-byte extern

随机推荐

  1. 使用AIDL(Android接口描述语言)设计和使
  2. Android开发11――手机横屏和竖屏与andro
  3. android下修改hosts文件不起作用(无效)的解
  4. Android的Handler总结
  5. Android(安卓)Animation学习笔记
  6. Android系统中UID
  7. android 简单同步与异步
  8. Android复制assets目录下的图片到内存
  9. Android设计模式系列-单例模式
  10. android设置主题和自定义主题的方法