Android短信& GPS应用程序 - 安全许可

时间:2016-06-16 10:59:10

标签: android android-permissions android-gps

我的原型应用程序出现问题。它可以在我的电脑上的两个模拟器之间正常工作,但是当我在手机上安装它时,它不会发送短信,甚至不会要求获得许可(如果这是问题)。 此外,无论我做什么,在应用程序启动时,每次按下按钮并在每个新的意图开始时,我都会收到相同的错误:

 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)

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

uses-permission 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);
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这个问题似乎与三星Galaxy S3有关。链接:Permission Denial: this requires android.permission.INTERACT_ACROSS_USERS_FULL 由Sumighosh Chaurvil提供解释问题;并且它真的没什么可做的。

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