我正在寻找一种通过Intent启动默认天气应用程序的方法。我尝试使用Android默认天气应用程序的软件包名称,如this question中所示。
除此之外,我在Android开发者网站上查找了一些线索,但找不到任何内容。
答案 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中会发生什么。