2011-02-18 98 views
1

我试着编码它,我试着解决它与谷歌和stackoverflow,没有发现:=)所以希望别人有一个更好的主意,我不知道如果我得到一切正确的:从发射器中删除但保持启用/启动

我有2个应用程序:广告(主要的应用程序)/ adfree-PRO(只是许可证启动广告应用程序不会受到广告; P)

所以问题是,我想有一个专业版(与Pro图标)在启动普通广告应用程序的启动程序,这是正常的广告应用程序不在启动器中。

我试图从发射移除广告的应用程序(这是由于我的研究应该只从启动器中删除它)

pkgMgr.setComponentEnabledSetting(新组件名称(PACKAGE_NAME,PACKAGE_NAME +“主要” ), PackageManager.COMPONENT_ENABLED_STATE_DISABLED,PackageManager.DONT_KILL_APP);

哪些结果:启动器中的图标是正确的;)应用程序无法在手机上找到,启动,启动后,即使不与发射亲活动的快捷方式。它似乎在那里(快捷方式可以创建),但我尝试启动时崩溃了一个活动异常。

02-18 14:38:59.237:ERROR/AndroidRuntime(9941):android.content.ActivityNotFoundException:致无法找到明确的活动类{PACKAGE_NAME/PACKAGE_NAME.Main};你有没有在你的AndroidManifest.xml中声明这个活动?

这似乎并不属于(错误消息) 它看起来像有发生更多的不仅仅是简单地删除启动器中的条目中的应用。

非常感谢球员, 每一个变通方法对于这种情况感激:) 问候:)

回答

0

不能安装应用程序,并隐藏它的启动图标。我用我的应用程序处理它的方式与您的应用程序类似,我不试图与图标对战,而是可以使用以太网图标启动应用程序。显然,你没有在main(免费),应用程序和启动应用程序从您的亲图标看起来类似的代码来执行以下操作:

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle bundle) { 
    super.onCreate(bundle); 
    // check if main app is installed. If yes then start it 
    if (appExists()) { 
     Log.d(TAG, "Started main app from Pro"); 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("myapp://com.myapp.main")); 
     startActivity(intent); 
     finish(); 
    } else { 
     // display view with link back to Market 
     onAppNotExists(); 
    } 
} 

它是由你来实现appExists()这可能是一些这类许可证的检查

当然,或者你可以开发你的应用程序的通用代码为library project然后而非复制代码

+0

谢谢你确认我的想法。直到现在我已经隐藏了专业版图标,它完美的工作,发射器只显示1个图标,但现在我想显示他们正在使用的用户(并让他们意识到好处;))专业版,所以它似乎,为了让他们有可能使用一个单独的专业图标,2个图标是不可避免的。 所有其他:摘要:隐藏许可证应用程序作品;) 隐藏主应用程序。犯规。 感谢您的回应! – cV2 2011-02-18 23:05:27

0

应用它2种味道散发无法在手机上找到,启动,开始, 甚至没有启动专业版活动快捷方式。

不适用,但活动。

因此,如果您LAUNCHER活动BaseActivity,您可以创建类似BaseFakeActivity(不要忘了在你的清单将其设置为LAUNCHER,而不是你的BaseActivity)和其唯一功能是启动BaseActivity然后finish()本身。

现在你可以隐藏你的BaseFakeActivity,但你仍然可以与你的BaseActivity互动。

P.S .:不要忘了用这种方式做事后测试你的应用的行为;)

+0

嘿人,非常感谢,..听起来不错..现在做一些重构..听起来像一个完美的计划,会给你一些反馈,并在我准备好时接受你的答案:)计划今晚... :) – cV2 2013-02-09 09:00:57

相关问题