![](/img/trans.png)
[英]Android: java.lang.SecurityException: Permission Denial: start Intent to send mail
[英]java.lang.SecurityException: Not allowed to start service Intent error in android api level 23
我在智能卡讀卡器的應用程序中使用服務,但在android 5.0及更高版本中出現錯誤
W/System.err: java.lang.SecurityException:
Not allowed to start service Intent {
act=com.theobroma.cardreadermanager.backendipc
pkg=com.theobroma.cardreadermanager } without permission
com.hidglobal.ia.omnikey.service.permission.SMARTCARDIO
表現
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.smartcard">
<uses-sdk android:minSdkVersion="19" android:targetSdkVersion="19" />
<uses-permission android:name="com.hidglobal.ia.omnikey.service.permission.SMARTCARDIO"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="com.samsung.android.providers.context.permission.WRITE_USE_APP_FEATURE_SURVEY" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<application
android:allowBackup="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
該服務與設備中安裝的隱藏式多功能鍵驅動程序發生沖突。
可以在這里找到: https : //www.hidglobal.com/drivers/16553
我該如何解決這個問題?
服務清單清單
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.theobroma.cardreadermanager" platformBuildVersionCode="15" platformBuildVersionName="4.0.4-1406430">
<uses-sdk android:minSdkVersion="13" android:targetSdkVersion="15" />
<uses-feature android:name="android.hardware.usb.host" />
<permission android:label="Access HID Global Omnikey Base Service" android:name="com.hidglobal.ia.omnikey.service.permission.SMARTCARDIO" android:protectionLevel="dangerous" android:description="Allows this app to receive smart card events and to access the HID Global Omnikey Base Service." />
<uses-permission android:name="com.hidglobal.ia.omnikey.service.permission.SMARTCARDIO" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application android:theme="null" android:label="CardReaderManager" android:icon="res/drawable-ldpi-v4/ic_hid_omnikey.png" android:name="com.theobroma.cardreadermanager.CardReaderApplication" android:logo="res/drawable-ldpi-v4/ic_hid_omnikey.png">
<activity android:label="CardReaderManager" android:name="com.theobroma.cardreadermanager.CardReaderManagerActivity" android:launchMode="singleTask" android:screenOrientation="landscape">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<service android:name="com.theobroma.cardreadermanager.BackendService" android:permission="com.hidglobal.ia.omnikey.service.permission.SMARTCARDIO" android:process=":remote">
<intent-filter>
<action android:name="com.theobroma.cardreadermanager.backendservice" />
<action android:name="com.theobroma.cardreadermanager.backendipc" />
</intent-filter>
</service>
<receiver android:name="com.theobroma.cardreadermanager.BackendServiceStarter">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity android:label="CardReaderInfo" android:name="com.theobroma.cardreadermanager.CardReaderInfoActivity" android:screenOrientation="landscape" android:windowSoftInputMode="stateHidden">
<intent-filter>
<action android:name="com.theobroma.cardreadermanager.cardreaderinfoactivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
這已經很老了,但是仍然有些人會覺得有用。 解決方法是,您可以將build.gradle
目標SDK設置為22或更低,即targetSdkVersion 22
這對我有用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.