Я получаю эту ошибку на своем huawei Nexus 6p при добавлении приложения в список защищенных приложений.
"UncaughtException: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.huawei.systemmanager/com.huawei.systemmanager.optimize.process.ProtectActivity}; have you declared this activity in your AndroidManifest.xml?"
и я использую этот код, чтобы поместить приложение в список защищенных приложений
if ("huawei".equalsIgnoreCase(Build.MANUFACTURER) && !settingsManager.getKeyStateProtectedApp()) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Is app killing?").setMessage("Add LastingSales to protected apps list to keep it running in background.")
.setPositiveButton("YES", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
Intent intent = new Intent();
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
startActivity(intent);
settingsManager.setKeyStateProtectedApp(true);
}
}).create().show();
}
Проблема в том, что это не моя собственная деятельность, которую я могу объявить в манифесте. Мне все еще нужно объявлять это в манифесте? если мне нужно, то как я могу это сделать?
РЕШЕНО причина в том, что huawei nexus 6p имеет чистый Android и, следовательно, нет такая деятельность. но код туда падал, потому что Build.MANUFACTURER возвращает «huawei». однако Build.BRAND возвращает «google», поэтому добавлена дополнительная проверка как
if ("huawei".equalsIgnoreCase(Build.MANUFACTURER) && !"google".equalsIgnoreCase(Build.BRAND) && !settingsManager.getKeyStateProtectedApp()
Подробнее здесь: https://stackoverflow.com/questions/477 ... tectactivi
Com.huawei.systemmanager/com.huawei.systemmanager.optimize.process.ProtectActivity}; вы объявили об этой активности в св ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение