i have library (jar) on build path of project. project accesses mainactivity in jar, using following intent:
final intent = new intent(); it.setclassname("com.example.lib", "com.example.lib.mainactivity"); startactivity(it);
it used work sometime, started getting 'activitynotfoundexception: no activity found handle intent' able resolve. stuck 'java.lang.securityexception: permission denial: starting intent'.
i have tried suggestions made on stackoverflow (check duplicates in manifest file; add android:exported="true" lib manifest; eclipse> project> clean; adding/ modifying 'intent-filter' tags; etc.). tried re-writing manifest of project not going anywhere it.
here's logcat output:
11-07 06:20:52.176: e/androidruntime(4626): fatal exception: main 11-07 06:20:52.176: e/androidruntime(4626): java.lang.securityexception: permission denial: starting intent { cmp=com.example.lib/.mainactivity } processrecord{40dd3778 4626:com.example.project/u0a10046} (pid=4626, uid=10046) not exported uid 10047 11-07 06:20:52.176: e/androidruntime(4626): @ android.os.parcel.readexception(parcel.java:1425) 11-07 06:20:52.176: e/androidruntime(4626): @ android.os.parcel.readexception(parcel.java:1379) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activitymanagerproxy.startactivity(activitymanagernative.java:1885) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.instrumentation.execstartactivity(instrumentation.java:1412) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activity.startactivityforresult(activity.java:3370) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activity.startactivityforresult(activity.java:3331) 11-07 06:20:52.176: e/androidruntime(4626): @ android.support.v4.app.fragmentactivity.startactivityforresult(fragmentactivity.java:824) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activity.startactivity(activity.java:3566) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activity.startactivity(activity.java:3534) 11-07 06:20:52.176: e/androidruntime(4626): @ com.example.project.mainactivity.onoptionsitemselected(mainactivity.java:93) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activity.onmenuitemselected(activity.java:2548) 11-07 06:20:52.176: e/androidruntime(4626): @ android.support.v4.app.fragmentactivity.onmenuitemselected(fragmentactivity.java:366) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.policy.impl.phonewindow.onmenuitemselected(phonewindow.java:980) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.view.menu.menubuilder.dispatchmenuitemselected(menubuilder.java:735) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.view.menu.menuitemimpl.invoke(menuitemimpl.java:149) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.view.menu.menubuilder.performitemaction(menubuilder.java:874) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.view.menu.actionmenuview.invokeitem(actionmenuview.java:547) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.view.menu.actionmenuitemview.onclick(actionmenuitemview.java:115) 11-07 06:20:52.176: e/androidruntime(4626): @ android.view.view.performclick(view.java:4204) 11-07 06:20:52.176: e/androidruntime(4626): @ android.view.view$performclick.run(view.java:17355) 11-07 06:20:52.176: e/androidruntime(4626): @ android.os.handler.handlecallback(handler.java:725) 11-07 06:20:52.176: e/androidruntime(4626): @ android.os.handler.dispatchmessage(handler.java:92) 11-07 06:20:52.176: e/androidruntime(4626): @ android.os.looper.loop(looper.java:137) 11-07 06:20:52.176: e/androidruntime(4626): @ android.app.activitythread.main(activitythread.java:5041) 11-07 06:20:52.176: e/androidruntime(4626): @ java.lang.reflect.method.invokenative(native method) 11-07 06:20:52.176: e/androidruntime(4626): @ java.lang.reflect.method.invoke(method.java:511) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:793) 11-07 06:20:52.176: e/androidruntime(4626): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:560) 11-07 06:20:52.176: e/androidruntime(4626): @ dalvik.system.nativestart.main(native method)
manifest xml of project:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.project" android:versioncode="4" android:versionname="4.0" > <!-- permissions --> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.internet" /> <supports-screens android:anydensity="true" /> <!-- sdk settings --> <uses-sdk android:minsdkversion="11" android:targetsdkversion="18" /> <!-- app start --> <application android:allowbackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/apptheme" > <!-- app activity --> <activity android:name="com.example.project.mainactivity" android:label="@string/app_name" android:screenorientation="portrait" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <!-- library activity --> <activity android:name="com.example.lib.mainactivity" android:label="libmain"> <intent-filter> <action android:name="android.intent.action.main"></action> </intent-filter> </activity> </application> <!-- end - app --> </manifest>
what overlooking? suggestions?
edit
i updated manifest.xml other activities & somehow, resolved problem. intent activity starts without errors. but, on avd. on actual device, still throwing same error. have uninstalled app device , reinstalled, yet same error.
the exception clear. need set android:exported="true"
in androidmanifest.xml file declare activity.
edit
<activity android:name="com.example.lib.mainactivity" android:label="libmain" android:exported="true"> <intent-filter> <action android:name="android.intent.action.main" > </action> </intent-filter> </activity>
Comments
Post a Comment