2011-07-25 61 views
0

好吧,所以我想要做的是创建一个小部件,它将在按下小部件时简单地启动另一个应用程序。然而,这些应用程序并不是我创建的应用程序,即市场应用程序,浏览器以及类似的东西。我已经设置了AppWidgetProvider,并完成了清单中的所有变化以及所有这些事情。我只需要知道我必须添加到类/ Java源文件中。任何帮助表示赞赏,谢谢!从android小部件启动另一个应用程序?

+0

可能重复[如何启动从Android的活动主屏幕小部件](http://stackoverflow.com/questions/2706464/how-to-launch-activity-from-android-home-screen-widget) –

回答

2

试着这样做:

String packageName = "com.package"; 
String className = "com.package.MainActivity"; 
Intent intent = new Intent(Intent.ACTION_MAIN); 
intent.setComponent(new ComponentName(packageName, className)); 
startActivity(intent); 

UPDATE:

这看起来像启动应用程序的一种更好的方式:

PackageManager pm = getPackageManager(); 
try 
{ 
    String packageName = "com.example.package"; 
    Intent launchIntent = pm.getLaunchIntentForPackage(packageName); 
    startActivity(launchIntent); 
} 
catch (Exception e1) 
{ 
} 
+0

我得到一些错误,但主要的错误似乎是“startActivity缺少返回类型”,并且“意图无法解析为类型”我在开发中很新,所以请介意我的“noobishness”,感谢您的帮助。 – natehoch96

+0

确保您具有正确的软件包名称和类名称。另外,尝试将startActivity(intent)更改为MyActivity.this.startActivity(intent)。如果这不起作用,我会需要你向我展示代码的样子,因为我把这些代码放在我的应用程序中,它没有任何问题。 –

+0

得到它的工作,感谢Arash! – natehoch96

相关问题