启动默认天气应用

时间:2013-11-13 04:20:32

标签: android android-intent

我正在寻找一种通过Intent启动默认天气应用程序的方法。我尝试使用Android默认天气应用程序的软件包名称,如this question中所示。

除此之外,我在Android开发者网站上查找了一些线索,但找不到任何内容。

2 个答案:

答案 0 :(得分:1)

您应首先获得package android的{​​{1}},然后在app文件中找到该AndroidManifest.xml,然后将此代码写入您要启动的weather application 1}}

PackageManager pm = getPackageManager();
String packageName = "com.your.packagename";
Intent launchIntent =  pm.getLaunchIntentForPackage(packageName);
startActivity(launchIntent);

确保已安装应用程序

答案 1 :(得分:0)

我需要在Android Wear应用中执行此操作,并设法使用以下答案执行此操作:https://stackoverflow.com/a/12511404/7006743

以下是启动默认Android Wear天气应用程序的代码:

ComponentName cn = new ComponentName("com.google.android.wearable.app", "com.google.android.clockwork.home.search.apps.weather.WeatherActivity");
try {
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_LAUNCHER);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
    intent.setComponent(cn);
    startActivity(intent);
} catch(ActivityNotFoundException e){
    Toast.makeText(getApplicationContext(), "activity not found", Toast.LENGTH_LONG).show();
}

要查找组件名称,只需启动所需的应用程序并检查LogCat中会发生什么。