10

私のプログラムでは、画面にショートカットを追加します。画面上のアイコンは問題なく表示されますが、タップすると次のようになります。

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

問題を知っていますか?ありがとう、
アイザック

4

5 に答える 5

11

マニフェストのアクティビティの 1 つのアクティビティ タグを誤って複製したときに、このようなことが起こりました。募集要項にこんなのがありました。

<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>

2 番目のアクティビティ タグを削除すると、正常に動作するようになりました。

于 2010-07-21T03:25:58.517 に答える
9

<activity>それを理解して、アクティビティのタグの 下にこれを追加しました:

<intent-filter>
<action android:name="android.intent.action.MAIN"></action>
</intent-filter>
于 2009-03-19T04:30:19.097 に答える
5

私もこの問題に遭遇しましたが、アクティビティが他のプロセスに公開されていないことが原因であることが判明しました。マニフェストのアクティビティ タグに android:exported="true" 属性を追加する必要がありました。

詳細については、 http://developer.android.com/guide/topics/manifest/activity-element.html#exportedをご覧ください。

于 2011-01-27T16:00:50.113 に答える
2

私は個人的にこれに出くわしたことはありませんが、いくつかの調査を行ったところ、次のことがわかりました。

どうやら、アプリを呼び出そうとしているもの、またはアプリにインテントを作成して何らかのインテントのアクティビティを開始するための呼び出しがある場合、UID は同じではありません。

ActivityManagerServer.java には以下の判定があります。

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;
   }

これについていくつかテストを行い、テスト アプリケーションでこれを再現できるかどうかを確認し、追加のフィードバックを提供します。

インテントを通じて公開されているアクティビティのみを呼び出そうとしていることを確認してください。

于 2009-03-02T05:10:55.747 に答える