Nova quản lý điều này như thế nào? Tôi đang cố gắng thực hiện chính xác điều tương tự: cung cấp cho người dùng một nút nhấn để xóa và chọn trình khởi chạy mặc định mới của họ.Xóa và cài đặt ứng dụng mặc định tại nhà
Tôi có thể lấy tên ứng dụng mặc định và hiển thị nó:
private String getPrefered(Intent i) {
PackageManager pm = this.getActivity().getPackageManager();
final ResolveInfo mInfo = pm.resolveActivity(i, 0);
return (String) pm.getApplicationLabel(mInfo.activityInfo.applicationInfo);
}
nơi Intent i
là
Intent home = new Intent("android.intent.action.MAIN");
home.addCategory("android.intent.category.HOME");
Sau đó, tôi gọi lên ResolveActivity hệ thống,
private void makePrefered() {
Intent selector = new Intent("android.intent.action.MAIN");
selector.addCategory("android.intent.category.HOME");
selector.setComponent(new ComponentName("android", "com.android.internal.app.ResolverActivity"));
startActivity(selector);
}
Bộ chọn đi lên và hoạt động chính xác, nhưng nó không thực sự thiết lập hoặc xóa bất kỳ v alues. Trong khi gỡ lỗi nó, có vẻ như tôi đang thiếu một số tính năng bổ sung? Khi tôi gọi phương thức makePrefered
, tôi nhận được thông tin đăng nhập sau,
I/ActivityManager( 602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] cmp=android/com.android.internal.app.ResolverActivity u=0} from pid 22641
Khi tôi sử dụng thực hiện Nova tôi thấy tất cả những điều này tuy nhiên,
I/PackageManager( 602): Result set changed, dropping preferred activity for Intent { act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 (has extras) } type null
I/ActivityManager( 602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=android/com.android.internal.app.ResolverActivity (has extras) u=0} from pid 22905
I/ActivityManager( 602): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.mycolorscreen.canvas/.Launcher (has extras) u=0} from pid 22905
- Làm thế nào tôi có thể nhận được ở đó và xem những gì đang được gửi cùng với gói đó?
- Tôi làm cách nào để xóa ứng dụng ưu tiên? Đừng nói với tôi rằng bạn không thể, tôi đã thấy đủ những câu trả lời đó. Nova làm điều đó và thực hiện chính xác cách tôi muốn.
Tôi đã thử tính năng này trên phiên bản 4.2.2 và nó không hoạt động ... Chỉ khi cài đặt Trình khởi chạy trang chủ mới, hành vi như bạn đã mô tả. – TacB0sS
Dunno. Havent đã thử điều này trong một thời gian dài. – r2DoesInc
Tôi đã thử trên 4.2.2 với Nexus 4 của tôi và nó hoạt động. –