我目前正在做一个项目,我正在尝试添加一个图标制作比赛,获胜者将收到一个只有比赛获胜者才能获得的特殊应用程序插件,我希望我的应用程序检查包(特殊应用程序插件)是否存在在用户设备上,如果是的话,我希望应用程序在运行时显示备用显示。我会使用“if”和“else”语句来实现这一点吗?如果是这样,我将如何解决这个问题并在此致谢.
注意:我已成功使应用程序根据 android 版本加载不同的布局,所以我有一点想法,但需要一些帮助。
我目前正在做一个项目,我正在尝试添加一个图标制作比赛,获胜者将收到一个只有比赛获胜者才能获得的特殊应用程序插件,我希望我的应用程序检查包(特殊应用程序插件)是否存在在用户设备上,如果是的话,我希望应用程序在运行时显示备用显示。我会使用“if”和“else”语句来实现这一点吗?如果是这样,我将如何解决这个问题并在此致谢.
注意:我已成功使应用程序根据 android 版本加载不同的布局,所以我有一点想法,但需要一些帮助。
检查此项以了解是否已安装应用程序..
public class Example extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Put the package name here...
boolean installed = appInstalledOrNot("com.Ch.Example.pack");
if(installed)
{
//This intent will help you to launch if the package is already installed
Intent LaunchIntent = getPackageManager()
.getLaunchIntentForPackage("com.Ch.Example.pack");
startActivity(LaunchIntent);
System.out.println("App already installed om your phone");
}
else
{
System.out.println("App is not installed om your phone");
}
}
private boolean appInstalledOrNot(String uri)
{
PackageManager pm = getPackageManager();
boolean app_installed = false;
try
{
pm.getPackageInfo(uri, PackageManager.GET_ACTIVITIES);
app_installed = true;
}
catch (PackageManager.NameNotFoundException e)
{
app_installed = false;
}
return app_installed ;
}
}
好吧,如果您的插件有一个唯一的名称(我相信它应该),您可以检查它。
请阅读下面链接的帖子以检查插件是否存在
链接:https ://stackoverflow.com/a/6758962/1542720
希望这可以帮助 !
您可以根据 onCreate() 中的要求更改您的 xml 文件。
正如我在代码中所做的那样,对于不同的密度,我使用了不同的 xml 文件。
if (metrics.densityDpi == DisplayMetrics.DENSITY_MEDIUM) {
setContentView(R.layout.activity_main);
} else if (metrics.densityDpi == DisplayMetrics.DENSITY_LOW) {
setContentView(R.layout.activity_main_small);
} else {
setContentView(R.layout.activity_main_large);
}