【问题标题】:Android SMS & GPS App - Security PermissionAndroid SMS & GPS App - 安全权限
【发布时间】:2016-10-17 20:31:26
【问题描述】:

我的原型应用程序出现问题。它在我的 PC 上的两个模拟器之间运行良好,但是当我将它安装在手机上时,它不会发送短信,甚至不会请求许可(如果这是问题的话)。 此外,无论我做什么,在应用程序启动时,每次按下按钮时以及在每次新的意图启动时,我都会收到相同的错误:

 E/DatabaseUtils: Writing exception to parcel
                                            java.lang.SecurityException: Permission Denial: get/set setting for user asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_USERS_FULL
                                                at com.android.server.am.ActivityManagerService.handleIncomingUser(ActivityManagerService.java:13140)
                                                at android.app.ActivityManager.handleIncomingUser(ActivityManager.java:2038)
                                                at com.android.providers.settings.SettingsProvider.callFromPackage(SettingsProvider.java:607)
                                                at android.content.ContentProvider$Transport.call(ContentProvider.java:279)
                                                at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:273)
                                                at android.os.Binder.execTransact(Binder.java:388)
                                                at dalvik.system.NativeStart.run(Native Method)

我一直在研究很多类似的问题,我确实添加了

使用权限 android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>

到我的清单,但似乎没有什么对我有用。 对我来说真正奇怪的是错误发生在应用程序启动时,因为在那一点上似乎没有任何有趣的事情发生:

public class MainActivity extends AppCompatActivity {



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

}

// Go to contact list
public void onClick(View view) {
    Intent i  = new Intent(this,AddContact.class);
    startActivity(i);
}
public void onGPS(View view) {
    Intent j = new Intent(this,GPSActivity.class);
    startActivity(j);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
}

有什么想法吗?

【问题讨论】:

  • 您是否曾在同一设备上为多个用户安装了该应用程序?
  • 查看link
  • 嗯好的,所以这似乎是一个 S3 问题。这实际上是我正在使用的手机! - 不,我没有为多个用户安装该应用程序。

标签: android android-permissions android-gps


【解决方案1】:

问题似乎出在三星 Galaxy S3 上。链接:Permission Denial: this requires android.permission.INTERACT_ACROSS_USERS_FULL Sumighosh Chaurvil 提供的解释了这个问题;而且真的没什么可做的。

我在另一部手机上安装了该应用程序,它没有任何问题!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2012-06-07
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多