2009-03-02 40 views
9

Trong chương trình của tôi, nó thêm lối tắt vào màn hình. Tôi nhận được biểu tượng trên màn hình tốt, nhưng khi tôi nhấn vào nó, tôi nhận được:Lỗi cho phép phím tắt màn hình chính của Android

03-01 20:00:29.410: ERROR/AndroidRuntime(796): java.lang.SecurityException: Permission Denial: starting Intent { data=http://www.example.com/ flags=0x14000000 comp={com.isaacwaller.example/com.isaacwaller.example.ExampleCut} } from ProcessRecord{435c7398 796:android.process.acore/10005} (pid=796, uid=10005) requires null 

Bạn có biết vấn đề? Cảm ơn,
Isaac

Trả lời

9

đặn nó ra, thêm này theo <activity> thẻ hoạt động:

<intent-filter> 
<action android:name="android.intent.action.MAIN"></action> 
</intent-filter> 
+0

Bạn có thể cho chúng tôi thấy Mainfest hoàn chỉnh (cố định) không? –

2

Tôi chưa từng tham gia điều này nhưng tôi đã thực hiện một số nghiên cứu và tìm thấy những điều sau đây.

Dường như bất cứ điều gì đang cố gọi ứng dụng của bạn hoặc nếu ứng dụng của bạn có cuộc gọi để tạo ý định và bắt đầu hoạt động có ý định thì UID không giống nhau.

Trong ActivityManagerServer.java có dưới sự phán xét trong đó.

int checkComponentPermission(String permission, int pid, int uid, int reqUid) 
// If the target requires a specific UID, always fail for others. 
    if (reqUid >= 0 && uid != reqUid) { 
     return PackageManager.PERMISSION_DENIED; 
    } 

Tôi sẽ thực hiện một số thử nghiệm về điều này và xem liệu tôi có thể tái tạo điều này trong ứng dụng thử nghiệm và cung cấp thêm bất kỳ phản hồi nào không.

Đảm bảo bạn chỉ đang cố gắng gọi các hoạt động được hiển thị công khai thông qua bất kỳ ý định nào.

5

Something như thế này nên làm việc:

<intent-filter> 
    <action android:name="com.example.Project.Action"/> 
    <category android:name="android.intent.category.DEFAULT"/> 
</intent-filter> 

bên trong việc kê khai Hoạt động trong biểu hiện.

10

Tôi có điều gì đó như thế này xảy ra khi tôi vô tình nhân đôi thẻ hoạt động cho một trong các hoạt động của tôi trong tệp kê khai của tôi. Tôi đã có một cái gì đó như thế này trong phần ứng dụng của tôi.

<activity android:name=".ConventionHome" android:label="@string/app_name"> 
    <intent-filter> 
     <action android:name="android.intent.action.MAIN" /> 
     <category android:name="android.intent.category.LAUNCHER" /> 
    </intent-filter> 
</activity> 

<activity android:name="ConventionHome"></activity> 

Khi tôi xóa thẻ hoạt động thứ hai, mọi thứ bắt đầu hoạt động bình thường.

+1

Điều này vừa sửa lỗi của tôi khi tôi nhận được "Ứng dụng không được cài đặt trên điện thoại này". Tôi đã làm theo một số ví dụ từ một cuốn sách và không nhận thấy vấn đề sao chép và dán của tôi với hoạt động trùng lặp. bắt tốt! (Sẽ đẹp hơn cho: hoạt động trùng lặp trong tệp kê khai) –

Các vấn đề liên quan