2013-11-13 3 views
0

Я ищу способ запуска приложения погоды по умолчанию с помощью намерения. Я попытался использовать имя пакета для приложения погоды по умолчанию Android, как указано в this question.Запуск приложения по умолчанию по умолчанию

Помимо этого я смотрел на веб-сайте разработчика Android некоторые подсказки, но ничего не мог найти.

ответ

1

Вы должны сначала получить package этого androidapp, которые вы можете найти в файле AndroidManifest.xml затем записать этот код, в котором вы хотите запустить эту weather application

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

И убедитесь, что приложение установлено

+0

Это должен быть принятый ответ –

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.

Смежные вопросы