java.lang.SecurityException: Permission Denial: starting Intent { cmp=com.tencen

一个不专业的程序猿 2012-11-21 04:08:47


String activityName = activityInfo.name;
Intent intent = new Intent();
// 通过包名和类名来启动应用程序
intent.setComponent(new ComponentName(packageName, activityName));
startActivity(intent);//269行代码

求大神帮帮忙,这个问题搞了一天了
...全文
6260 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxm8241213 2014-08-20
  • 打赏
  • 举报
回复
在清单文件中activity节点内加入android:exported="true"
jmy_520 2014-06-20
  • 打赏
  • 举报
回复
在你的应用的清淡文件中,对应的Activity加一个属性 expoted = "true"就可以了
oyq_yangy 2012-11-22
  • 打赏
  • 举报
回复
frameworks/base/services/java/com/android/server/am/ActivityStack.java 查“not exported from uid”,它就没export让你用,就是不想让别人用。。。
  • 打赏
  • 举报
回复
引用 13 楼 Heaven_Zheng 的回复:
引用 10 楼 z550946941 的回复:引用 9 楼 Heaven_Zheng 的回复:引用 5 楼 z550946941 的回复:楼主的异常信息不完整哦,看前面的描述是权限问题了 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ct.pr……
已经搞了2天了,还没搞出来,纠结的要死
  • 打赏
  • 举报
回复
引用 10 楼 z550946941 的回复:
引用 9 楼 Heaven_Zheng 的回复:引用 5 楼 z550946941 的回复:楼主的异常信息不完整哦,看前面的描述是权限问题了
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ct.project.activity"
an……

qinjuning 2012-11-22
  • 打赏
  • 举报
回复
引用 9 楼 Heaven_Zheng 的回复:
引用 5 楼 z550946941 的回复:楼主的异常信息不完整哦,看前面的描述是权限问题了 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ct.project.activity" android:versionCode="1" ……
你要加的权限另外一个应用程序或者Activity申请的权限,而不是你贴的那些权限。
qinjuning 2012-11-22
  • 打赏
  • 举报
回复
4L所说的在理。LZ可以好好看看。 从Log看,UID为10046没有获得UID为10049这个Activity的使用权 。 http://developer.android.com/guide/topics/manifest/activity-element.html#exported 如果直接设置了android:exported = "false" 。 即不能通过intent.setClass()启动这个Activity。 显示设置就是没有为这个Activity配置任何IntentFilter,默认也是android:exported = "false"。 可以搜搜 android:exported 信息。见帖子: http://blog.csdn.net/fireofstar/article/details/7583047 如果为某个Activity配置了权限的话,一般会报Permission Denied ,以及没有申请权限。
jerrypiaopiao 2012-11-22
  • 打赏
  • 举报
回复
引用 9 楼 Heaven_Zheng 的回复:
引用 5 楼 z550946941 的回复:楼主的异常信息不完整哦,看前面的描述是权限问题了 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ct.project.activity" android:versionCode="1" ……
撸主能不能把那块红色的异常信息完整的放到帖子里,有些东西看不清楚
  • 打赏
  • 举报
回复
引用 5 楼 z550946941 的回复:
楼主的异常信息不完整哦,看前面的描述是权限问题了
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ct.project.activity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" /> <application android:icon="@drawable/application_icon" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainUIActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY" /> </intent-filter> </activity> <activity android:name=".MenuFunctionsActivity" /> <activity android:name=".FilmAndEntertainmentActivity" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <action android:name="android.intent.action.PACKAGE_CHANGED" /> </intent-filter> </activity> <activity android:name=".AllAppListActivity" /> <activity android:name=".AppSoftWareActivity" /> </application> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> </manifest>我加权了限,也没用
  • 打赏
  • 举报
回复
引用 6 楼 wlianghe00 的回复:
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.igeek.plugintest.main" android:sharedUserId="test" 两个程序配个相同的shareUserId <application android……
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.ct.project.activity" android:sharedUserId="" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" /> <application android:icon="@drawable/application_icon" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainUIActivity" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.HOME" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.MONKEY" /> </intent-filter> </activity> <activity android:name=".MenuFunctionsActivity" /> <activity android:name=".FilmAndEntertainmentActivity" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <action android:name="android.intent.action.PACKAGE_CHANGED" /> </intent-filter> </activity> <activity android:name=".AllAppListActivity" /> <activity android:name=".AppSoftWareActivity" /> </application> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> </manifest>你看看这样写有问题吗,权限也加了,还是没用
  • 打赏
  • 举报
回复
引用 3 楼 yinke22222 的回复:
你那个代码是写在哪个里面的
这段代码写在FilmAndEntertainmentActivity这个Activity里面的,这个Activity里面有一个gridView页面,里面加载了从数据库读取的应用程序,那些应用程序是根据包名过滤的,点前击十个用应序程都能运行不会报错,但是当点到第11个应用程序的时候就会报上面的那个错, <activity android:name=".FilmAndEntertainmentActivity" > <intent-filter> <action android:name="android.intent.action.PACKAGE_ADDED" /> <action android:name="android.intent.action.PACKAGE_REMOVED" /> <action android:name="android.intent.action.PACKAGE_CHANGED" /> </intent-filter> </activity>我加了权限也没用,因为他不是主界面,所以我没有加这个<action android:name="android.intent.action.MAIN" />
Utopia 2012-11-21
  • 打赏
  • 举报
回复
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.igeek.plugintest.main" android:sharedUserId="test" 两个程序配个相同的shareUserId <application android:icon="@drawable/icon" android:process="com.test" 然后配置一个相同的进程名
jerrypiaopiao 2012-11-21
  • 打赏
  • 举报
回复
楼主的异常信息不完整哦,看前面的描述是权限问题了
oyq_yangy 2012-11-21
  • 打赏
  • 举报
回复
http://developer.android.com/guide/topics/manifest/activity-element.html#prmsn http://developer.android.com/guide/topics/manifest/activity-element.html#exported 或许这个activity设了权限
不简单de 2012-11-21
  • 打赏
  • 举报
回复
你那个代码是写在哪个里面的
  • 打赏
  • 举报
回复
引用 1 楼 yinke22222 的回复:
String activityName = activityInfo.name; Intent intent = new Intent(); // 通过包名和类名来启动应用程序 intent.setComponent(new ComponentName(packageName, activity……
没用啊,我没有DialogActivity这个类啊
不简单de 2012-11-21
  • 打赏
  • 举报
回复
String activityName = activityInfo.name; Intent intent = new Intent(); // 通过包名和类名来启动应用程序 intent.setComponent(new ComponentName(packageName, activityName)); DialogActivity.this.startActivity(intent);//269行代码

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧