Reputation: 11
I have also landed in a situation where I want to start Install of a third party app (lets say app Y) from my app (X) and I do not want application Y icon to get created on android main menu.
I have tried code below but still there is a icon of app Y that is getting created in main menu after App Y gets installed successfully. Just please remember that I can not change manifest of App Y as it is a third party app.
I have also tried suggestions on following link but they have not resolved my problem:
How to hide application icon from the Android Desktop? ++++++++++
File file = new File("/sdcard/MyApps/App Y.apk");
Intent intent = new Intent();
Uri uri = Uri.fromFile(file);
intent.setAction(android.content.Intent.ACTION_VIEW);
intent.removeCategory("android.intent.category.LAUNCHER");
intent.setDataAndType(Uri.parse(uri.toString()),
"application/vnd.android.package-archive");
startActivity(intent);
++++++++++
Please let me know your suggestions/inputs on this.
Thanks
Upvotes: 1
Views: 3592
Reputation: 1
// Hide Application Icon
try{
PackageManager p = getPackageManager();
p.setComponentEnabledSetting(getComponentName(), PackageManager.COMPONENT_ENABLED_STATE_DISABLED, PackageManager.DONT_KILL_APP);
}catch (Exception e) {
e.printStackTrace();
}
// UnHide Application Icon
PackageManager p = getPackageManager();
ComponentName componentName = new ComponentName("com.example.removeicon","com.example.removeicon.LauncherActivity");
p.setComponentEnabledSetting(componentName , PackageManager.COMPONENT_ENABLED_STATE_ENABLED, PackageManager.DONT_KILL_APP);
Upvotes: 0
Reputation:
You can bluff just create an image with 0 opacity and smallest possible size then user will not be able to see the application.
Upvotes: -1
Reputation: 862
In most cases the answer will be no you can't....
It depends of what kind of application "App Y" is. For e.g. if App Y is a library it is included in your app. There are some sample app's available on the Android site like; "Soft Keyboard"
http://developer.android.com/resources/samples/SoftKeyboard/index.html
Those are actually "services" which are not installed as applications. If App Y is a "normal" application it will be installed on it's own as this is Android's behaviour.
Kind regards and good luck on further development.
Upvotes: 1
Reputation: 64700
The only way to do this is to remove the IntentFilter
defined in the package's AndroidManifest.xml file: there is no way as a third party installer to do this.
Upvotes: 3
Reputation: 3757
You're just modifying your intent. I don't think it's possible to accomplish what you're trying to accomplish. Why not let the user launch the other app themselves?
Upvotes: 0