Android APP安装后不在桌面显示图标的应用场景举例和实现方法
2016-08-19 10:53
791 查看
在门户中下载应用后进行子应用安装,使用HTML5或原始应用启动加载。
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。
相关文章推荐
- Android studio 使用Zxing二维码扫描,过程及问题汇总
- 通过rosjava实现android订阅ROS自定义消息
- iOS 延迟执行方法
- android loadlibrary 更改libPath 路径,指定路径加载.so
- Android 环境变量配置
- 比较IOS开发中常用视图的四种切换方式
- Android进阶之事件拦截处理机制
- Android中自动跳转到系统设置界面
- Appium真机运行Device Name获取方法
- 用Recyclerview实现列表分组、下拉刷新以及上拉加载--源码
- Android 配合Jenkins使用Gradle脚本命令打包上传到蒲公英
- 有关chromium浏览器 ios 读证书 验证证书 (注没有找到方法),在这里做一下笔记
- html5页面启动手机上的app
- Android 判断是否有网及无网处理
- android:configChanges="orientation|keyboardHidden|screenSize"真的能固定屏幕吗
- 调节系统声音最大,听筒和扬声器启动
- 使用HorizontalScrollView 注意事项
- Android Data Binding基础用法
- Android Studio的格式化快捷键ctrl+shift+F失效?
- [Android Pro] Android打包一个Apk后,如何查看它的VersionCode、VersionName 等等。