Открыть активность из другого приложения (Мое приложение для активности MiFit) - PullRequest
0 голосов
/ 27 мая 2019

Я хочу открыть приложение MiFit в Google Fit Syncronize, но я получаю ошибки. Как я могу открыть, нажав на кнопку?

Вот мой код:

@OnClick(R.id.div_mi_band)
public void miBandIntegration() {
        Intent intent = new Intent();
        intent.setComponent(new ComponentName("com.xiaomi.hm.health.thirdbind",".thirdbind.ThirdBindActivity"));
        startActivity(intent);
}

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

Попробуйте ниже:

            try{
                boolean isAppInstalled = isPackageInstalled(MainActivity.this,"com.xiaomi.hm.health");
                if (isAppInstalled) {
                    Intent navigationIntent = new Intent();
                    navigationIntent.setPackage("com.xiaomi.hm.health");
                    startActivity(navigationIntent);
                }else{
                    Toast.makeText(MainActivity.this,"MI Fit is not currently installed",Toast.LENGTH_SHORT).show();
                }
            }catch (Exception e){
                Toast.makeText(MainActivity.this,"MI Fit Application is not currently installed",Toast.LENGTH_SHORT).show();
                e.printStackTrace();
            }

Чтобы проверить приложение установлено или нет:

public static boolean isPackageInstalled(Context context, String packageName) {
        final PackageManager packageManager = context.getPackageManager();
        Intent intent = packageManager.getLaunchIntentForPackage(packageName);
        if (intent == null) {
            return false;
        }
        List <ResolveInfo> list = packageManager.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
        return !list.isEmpty();
    }

Изменить имя пакета в соответствии с необходимостью.

Я надеюсь, что это работа для вас.

0 голосов
/ 27 мая 2019

Попробуйте это.

Intent launchIntent = getPackageManager().getLaunchIntentForPackage("com.xiaomi.hm.health.thirdbind");
if (launchIntent != null) { 
    startActivity(launchIntent);//null pointer check in case package name was not found
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...