6

在 adb shell 中运行 apk 文件 (AllSeenValidation14.12.00b.02.apk) 时,我收到以下错误消息:

Command to run : adb shell am start org.alljoyn.validation.validation_tests.validation_tests_it/org.alljoyn.validation.testing.instrument.ValidationInstrumentationTestActivity

错误:

"Permission Denial: starting Intent { flg=0x10000000 > cmp=org.alljoyn.validation.validation_tests.validation_tests_it/org.alljoyn.validation.testing.instrument.ValidationInstrumentationTestActivity } from null (pid=30992, uid=2000) not exported from  uid 10142 "   error.

注意:我没有apk文件的源代码(AllSeenValidation14.12.00b.02.apk)

4

1 回答 1

3

在这里注意android:exported="true" 这个允许的活动在应用程序示例其他应用程序之外访问或者您可以将 Intent Filter 放在需要访问的同一活动中

 <intent-filter>
        <action android:name="android.intent.action.MAIN" />
         <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>

这允许打开

 <activity
            android:name=".activity.LoginActivity"
            android:hardwareAccelerated="false"
            android:exported="true"
            android:label="@string/app_name"
            android:screenOrientation="portrait"
            android:windowSoftInputMode="stateHidden" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity> 

在您的示例 ValidationInstrumentationTestActivity Activity 没有 android:exported=true 或 intent-filter 这就是为什么您会收到“Permission Denial:starting Intent exception

我知道这不是答案,但它可以帮助你得到你想要的

于 2017-05-05T11:44:21.073 回答