1

我正在寻找一种通过 Intent 启动默认天气应用程序的方法。我尝试将包名称用于 Android 的默认天气应用程序,如此问题中所示。

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

4

2 回答 2

1

你应该首先得到你可以在文件中找到package的那个,然后在你想启动它的地方写这个代码android appAndroidManifest.xmlweather application

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

并确保已安装应用程序

于 2013-11-13T04:36:50.803 回答
1

我需要在 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 中发生的情况。

于 2016-12-16T15:41:46.230 回答