我正在寻找一种通过 Intent 启动默认天气应用程序的方法。我尝试将包名称用于 Android 的默认天气应用程序,如此问题中所示。
除此之外,我在 Android 开发者网站上查看了一些线索,但找不到任何东西。
我正在寻找一种通过 Intent 启动默认天气应用程序的方法。我尝试将包名称用于 Android 的默认天气应用程序,如此问题中所示。
除此之外,我在 Android 开发者网站上查看了一些线索,但找不到任何东西。
你应该首先得到你可以在文件中找到package
的那个,然后在你想启动它的地方写这个代码android
app
AndroidManifest.xml
weather application
PackageManager pm = getPackageManager();
String packageName = "com.your.packagename";
Intent launchIntent = pm.getLaunchIntentForPackage(packageName);
startActivity(launchIntent);
并确保已安装应用程序
我需要在 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 中发生的情况。