相关疑难解决方法(0)

Android的READ_EXTERNAL_STORAGE权限

我正在尝试访问用户设备上的媒体文件(音乐)来播放它们; 一个简单的"你好世界" - 音乐播放器应用程序.

我已经按照一些教程,他们基本上给出了相同的代码.但它不起作用; 它一直在崩溃并告诉我:

error.....
Caused by: java.lang.SecurityException: Permission Denial: reading com.android.providers.media.MediaProvider uri content://media/external/audio/media from pid=27696, uid=10059 requires android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission()
....
Run Code Online (Sandbox Code Playgroud)

现在,这是我的清单文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="slimsimapps.troff" >

    <uses-permission android:name="android.permission.MEDIA_CONTENT_CONTROL"/>
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)

这是我的Java方法:

public void initialize() {
    ContentResolver contentResolver = getContentResolver();
    Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
    Cursor cursor = contentResolver.query(uri, null, null, null, null); …
Run Code Online (Sandbox Code Playgroud)

java android audio-player android-music-player android-external-storage

73
推荐指数
5
解决办法
12万
查看次数

Android - java.lang.SecurityException:Permission Denial:启动Intent

我的项目的构建路径上有一个库(jar).项目使用以下意图访问jar中的MainActivity:

final Intent it = new Intent();
it.setClassName("com.example.lib", "com.example.lib.MainActivity");
startActivity(it);
Run Code Online (Sandbox Code Playgroud)

它曾经工作了一段时间,但突然开始得到'ActivityNotFoundException:没有找到活动来处理Intent',我能够解决它.但是现在我遇到了'java.lang.SecurityException:Permission Denial:start Intent'.

我已经尝试了所有关于stackoverflow的建议(检查清单文件中的重复项;将lib:exported ="true"添加到lib清单; Eclipse> Project> Clean;添加/修改'intent-filter'标签;等等).我甚至尝试重新编写项目的清单,但没有去任何地方.

这是logcat输出:

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 } from ProcessRecord{40dd3778     4626:com.example.project/u0a10046} (pid=4626, uid=10046) not exported from uid 10047
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.os.Parcel.readException(Parcel.java:1425)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.os.Parcel.readException(Parcel.java:1379)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1885)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1412)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.app.Activity.startActivityForResult(Activity.java:3370)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at android.app.Activity.startActivityForResult(Activity.java:3331)
11-07 06:20:52.176: E/AndroidRuntime(4626):     at …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-library

54
推荐指数
4
解决办法
11万
查看次数

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
Run Code Online (Sandbox Code Playgroud)

你知道这个问题吗?谢谢,
艾萨克

java permissions android shortcut homescreen

10
推荐指数
4
解决办法
9234
查看次数

获取:不允许启动服务Intent ...未经许可服务流程不好

ACRA的粉碎报告给我发了这个错误.

java.lang.SecurityException: Not allowed to start service Intent { act=auto_update cmp=net.DailyTimer.CalendarAlarmHelperFree/net.DailyTimer.CalendarAlarmHelper.CalendarAlarmService } without permission Service process is bad
Run Code Online (Sandbox Code Playgroud)

我在有限的设备上看到这个错误,我无法重现.我猜这个错误取决于运行环境.
我的问题是:

  • 什么许可是错的?我无法找出"服务流程不好"的含义.

编辑:
我在调用startService(intent)启动远程服务时遇到此错误.在许多设备上它工作正常.

permissions service android

6
推荐指数
1
解决办法
3036
查看次数

我安装后Android应用程序无法打开.但它可以在模拟器中运行

我已经从eclipse导出了我的应用程序并将其安装在我的手机上.安装后,我从软件包安装程序中单击"打开",但安装程序强制关闭.之后,当我尝试启动应用程序时,单击它后没有任何反应.我点击应用程序抽屉中的应用程序,但它返回到主屏幕.

当我通过usb连接我的设备时,我能够在模拟器和调试模式下运行,但是当我导出apk进行安装时却无法运行.

请注意,这不是我导出安装的第一个应用程序.以前的应用程序工作正常.

android apk

5
推荐指数
1
解决办法
4万
查看次数

Android facebook意图显示类com.facebook.katana.ProfileTabHostActivity的配置文件不再起作用

可能重复:
从其他应用程序启动Facebook应用程序

几天前,为了向我的用户展示另一个用户配置文件,我使用了以下解决方案:

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.facebook.katana", "com.facebook.katana.ProfileTabHostActivity");
Long uid = new Long("123456789");
intent.putExtra("extra_user_id", uid);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)

许多stackoverflow用户都使用此解决方案(从查看有关此主题的所有问题和答案).

最后的Facebook应用更新(1.9.11),甚至可能在此解决方案过时之前.现在,您将收到以下异常:

java.lang.SecurityException:Permission Denial:从ProcessRecord启动Intent {act = android.intent.action.VIEW cmp = com.facebook.katana/.ProfileTabHostActivity(has extras)} ...需要null

有谁知道我现在如何打开Facebook应用程序?

谢谢

android facebook android-intent

5
推荐指数
1
解决办法
5367
查看次数

测试Android碎片

我有一个无UI片段的业务逻辑,我必须测试.我尝试了两个选项,但都失败了.

1.使用AndroidTestCase并创建模拟活动.

以下代码

@Override
protected void setUp() {
    Intent i = new Intent(getTestContext(), TestActivity.class);
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    getTestContext().startActivity(i);
}
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

Permission denied: checkComponentPermission() reqUid=10104
java.lang.SecurityException: Permission Denial: starting Intent { flg=0x10000000 cmp=com.xxx.iabsample.test/.TestActivity } from ProcessRecord{40769510 28116:com.xxx.iabsample/10070  (pid=28116, uid=10070) requires null
Run Code Online (Sandbox Code Playgroud)

2.将ActivityInstrumentationTestCase2与模拟活动一起使用

public class IabTest extends ActivityInstrumentationTestCase2<TestActivity> {
    public IabTest() {
        super("com.xxx.iabsample.test", TestActivity.class);
    }
}
Run Code Online (Sandbox Code Playgroud)

抛出一个例外

java.lang.RuntimeException: Unable to resolve activity for: Intent { act=android.intent.action.MAIN flg=0x10000000 cmp=com.xxx.iabsample/.test.TestActivity }
Run Code Online (Sandbox Code Playgroud)

它似乎尝试从测试目标应用程序启动活动,而不是从测试应用程序启动.

那么,测试片段的正确方法是什么?

junit android android-fragments

5
推荐指数
1
解决办法
1295
查看次数

Android:更改启动器活动时权限被拒绝错误

我有一个我试图启动的Android应用程序,它给了我错误

java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.hoosierag/.MainActivity } from null (pid=32395, uid=2000) not exported from uid 10125
Run Code Online (Sandbox Code Playgroud)

当我尝试更改清单中的启动器活动时,我收到此错误.当我在模拟器上启动它时,我也没有收到此错误,但是当我尝试在设备上启动它时.我已经在3个不同的Android设备上尝试了它,它三次都给出了同样的错误.这是我的清单代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.hoosierag"
      android:versionName="1.11" android:versionCode="4">
        <uses-sdk android:minSdkVersion="3"/>
        <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
        <uses-permission android:name="android.permission.WAKE_LOCK"></uses-permission>
        <uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses-permission>
        <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"></uses-permission>
        <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission>


    <application android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar">
        <activity android:name=".MainActivity" android:screenOrientation="portrait"
                  android:label="MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="Main" android:screenOrientation="portrait"/>
        <activity android:name="News" android:screenOrientation="portrait"/>
        <activity android:name="Audio" android:screenOrientation="portrait"/>
Run Code Online (Sandbox Code Playgroud)

最初,Launcher Activity是名为Main的活动.然后我创建了一个名为MainActivity的新活动,并将其作为启动器类.

android android-manifest android-intent android-xml android-activity

3
推荐指数
2
解决办法
7422
查看次数

由于 SecurityException: Permission Denial,无法通过 adb 或 Appium 运行 Android 应用程序

我尝试对 Android 应用程序进行测试自动化。我有来自开发人员的活动名称和包名称,所以它是正确的。我在访问活动时遇到问题。

我研究了很多,我看到了一些类似的主题,比如:

Android:java.lang.SecurityException:权限拒绝:启动意图 https://discuss.appium.io/t/error-a-new-session-could-not-be-created-for-android-appium/2571

当我输入./adb shell am start com.companyname.appname/com.companyname.appname.activities.MainActivity我收到以下消息:

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.companyname.appname/.activities.MainActivity }
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.companyname.appname/.activities.MainActivity } from null (pid=13786, uid=2000) not exported from uid 10101
    at android.os.Parcel.readException(Parcel.java:1465)
    at android.os.Parcel.readException(Parcel.java:1419)
    at android.app.ActivityManagerProxy.startActivityAsUser(ActivityManagerNative.java:2133)
    at com.android.commands.am.Am.runStart(Am.java:680)
    at com.android.commands.am.Am.onRun(Am.java:270)
    at com.android.internal.os.BaseCommand.run(BaseCommand.java:47)
    at com.android.commands.am.Am.main(Am.java:76)
    at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
    at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:243)
    at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 Appium 运行该应用程序时,它会抛出以下内容:

[31mMessage: [0m[31morg.openqa.selenium.SessionNotCreatedException: A new session could not be created. (Original error: Permission to start activity …
Run Code Online (Sandbox Code Playgroud)

android manifest adb appium

2
推荐指数
1
解决办法
1万
查看次数

失败[INSTALL_FAILED_VERSION_DOWNGRADE]

我最近接手了一个使用Appium进行自动移动测试的项目。我有一些应该与Appium一起运行的python脚本,但是当尝试运行它们时,我遇到了“ [INSTALL_FAILED_VERSION_DOWNGRADE]”。经过对此事的大量研究,我认为这是与Android相关的问题,它是APK版本。但是,我是Android的新手,因此要完全了解Appium和Android所做的工作就很困难。在尝试将应用程序安装到设备上时,我更倾向于解决问题,但是我觉得我已经解决了排除故障的步骤。一些示例可确保我拥有该应用程序的最新版本,卸载该应用程序,重新安装该应用程序的较旧版本并最终检查更新。

Python脚本回溯:

Traceback (most recent call last):
  File "main.py", line 310, in <module>
    launch()
  File "main.py", line 26, in launch
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  File "C:\Python\lib\site-packages\appium\webdriver\webdriver.py", line 36, in __init__
    super(WebDriver, self).__init__(command_executor, desired_capabilities, browser_profile, proxy, keep_alive)
  File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 151, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 240, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "C:\Python\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "C:\Python\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: A new session could …
Run Code Online (Sandbox Code Playgroud)

python android apk appium python-appium

0
推荐指数
2
解决办法
4900
查看次数