2016-07-21 8 views
0

一部のデバイスでは、アプリケーションはsidloading中に権限を正しく要求します。他のユーザー(Android 6.0)では、サイドローディング中にパーミッションを要求しません。権限はmanifest.xml(下記)に一覧表示され、一部のデバイス(Android 5.0)では完全に機能します。他のデバイス(Android 4.0,6.0.1)では、権限を尋ねてきますが、すべてを組み込むようには思われません。以下のポップアップは、SMSを送信するボタンをクリックするとどうなるかの例です。Androidアプリのデバッグapkは一部のデバイスで権限を要求しません

私はわずかなテストしか行っておらず、デバイスが動作しているアンドロイドのバージョンによって問題は多少異なるようです。それは言われている、それは別の何かから起きているかもしれない、私は知らないだろう。

これはなぜ起こっているのですか?

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

<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.SEND_SMS" /> 
<uses-permission android:name="android.permission.READ_CONTACTS" /> 

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

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

     <meta-data 
      android:name="android.app.default_searchable" 
      android:value="Contacts" /> 
     <meta-data 
      android:name="android.app.searchable" 
      android:resource="@xml/searchable" /> 
    </activity> 
    <activity android:name=".Contacts" /> 

    <activity android:name=".Account" 
     android:theme="@style/SuperCoolAppBarActivity"/> 
     <meta-data android:name = "android.support.PARENT_ACTIVITY" 
      android:value= ".Contacts"/> 

    <activity android:name=".ReportBug"> 
     <meta-data android:name = "android.support.PARENT_ACTIVITY" 
      android:value=".Contacts"/> 
    </activity> 
</application></manifest> 

(IMAGE) When a button that should send a text message is clicked, this pops up instead of executing the action of the button

+0

あなたは許可を求めているところで私たちに活動を示すことができます。 – tk1505

答えて

0

ドキュメントによると:デバイスは、Android 6.0以降を実行している、とあなたのアプリのターゲットSDKが23以上の場合

:アプリがでアクセス許可を一覧表示することがありますアプリケーションが動作している間に必要なそれぞれの危険なアクセス権を要求する必要があります。ユーザーは各権限を付与または拒否することができ、ユーザーが権限要求を拒否しても機能は制限されたままアプリケーションを実行し続けることができます。 これは、マニフェストファイルでアクセス許可を宣言したにもかかわらず、実行時に依頼する必要がある理由です。

注:アンドロイド6.0以降で(APIレベル23)を、ユーザーがさえ、いつでも任意のアプリからの許可を取り消すことができますが、minSdkVersionが< 23を設定することができ、またドキュメントが言うように回避策として

アプリが低いAPIレベルをターゲットにしている場合アプリケーションがどのAPIレベルをターゲットにしているかにかかわらず、必要な権限が不足しているときに正しく動作するかどうかをテストする必要があります。 また、アクセス許可のベストプラクティスによれば、より良いユーザーエクスペリエンスを提供するために、両方のアクセス許可モデルに対してテストする必要があります。

関連する問題