Tôi muốn khởi chạy màn hình chính của Android với ứng dụng của mình. Mục tiêu chính là hiển thị tất cả các ứng dụng cho người dùng khi họ nhấn một phím chuyên biệt. Thực ra đường đi không quan trọng. Bất kỳ ý tưởng để làm điều này?

Đây là mã để bắt đầu HomeActivity
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

Nhận xét bạn đã đưa ra về một số câu trả lời cho thấy bạn thực sự muốn khởi chạy Trình khởi chạy (bạn có thể muốn cập nhật tiêu đề nếu đúng như vậy). Để làm điều này, hãy sử dụng cùng một phương pháp mà Anand đã đề xuất để khởi chạy hoạt động tại nhà.
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_LAUNCHER);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

Không có "màn hình hiển thị ứng dụng có biểu tượng cho người dùng" trong Android.
Những gì bạn đang nghĩ đến là một tính năng của một số màn hình chính. Không có tiêu chuẩn nào Intent
để kích hoạt điều này xuất hiện và không có yêu cầu đối với màn hình chính phải có tính năng như vậy.
Bạn được hoan nghênh để viết của riêng bạn. Đây là một dự án mẫu hiển thị các hoạt động có thể truy cập trong a ListView
.

hãy thử một cái gì đó như thế này để nhấp vào nút quay lại bất kỳ bạn sẽ truy cập vào màn hình chính / ...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
// Display confirmation here, finish() activity.
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
return true;
}
return super.onKeyDown(keyCode, event);
}

Không có giải pháp nào ở đây phù hợp với tôi ..
Tôi đã làm cho nó hoạt động bằng cách sử dụng mã dưới đây
PackageManager pm = getPackageManager();
Intent i = new Intent("android.intent.action.MAIN");
i.addCategory("android.intent.category.HOME");
List<ResolveInfo> lst = pm.queryIntentActivities(i, 0);
if (lst != null) {
for (ResolveInfo resolveInfo : lst) {
try {
Intent home = new Intent("android.intent.action.MAIN");
home.addCategory("android.intent.category.HOME");
home.setClassName(resolveInfo.activityInfo.packageName, resolveInfo.activityInfo.name);
startActivity(home);
break;
} catch (Throwable t) {
t.printStackTrace();
}
}
}
Lấy nó từ: https://stackoverflow.com/a/16483596/1241783
Hy vọng điều này sẽ giúp ai đó

Tôi không chắc liệu tôi có hoàn toàn hiểu những gì bạn đang cố gắng làm hay không! Nhưng nếu bạn muốn người dùng có thể truy cập ứng dụng khác bằng cách nhấp vào bên trong ứng dụng của mình, thì bạn nên kiểm tra "ý định". Chạy mã mẫu API DEMO trong eclipse và chạy Ứng dụng -> Ý định

Tôi nghĩ rằng tôi đã đến bữa tiệc rất muộn, nhưng tôi cũng có một mối quan tâm tương tự. Các câu trả lời được đưa ra ở đây sẽ khởi chạy menu lựa chọn cho phép bạn chọn Trình khởi chạy. Nếu bạn có nhiều trình khởi chạy trong mã của mình, câu trả lời ở đây: https://stackoverflow.com/a/8666155 có thể hữu ích. Thao tác này trực tiếp khởi chạy màn hình chính mặc định của Android.

Tôi đã đạt được nó bằng cách sử dụng một dòng
moveTaskToBack(true); //activity.moveTaskToBack(true);
Nó hoạt động giống như Nút Home

Điều này đang làm việc tốt cho tôi!
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startActivity(startMain);
ai đó có thể giải thích tại sao chúng ta cần cái này không?
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
btw, đây là những gì tôi đang tìm kiếm
moveTaskToBack(true);

Có thể bạn quan tâm
