Activity Lifecycle, Saving Activity State, Managing Tasks, Intent, Intent Filter
-
shved
- Сообщения: 3
- Зарегистрирован: 03 июл 2013, 09:57
Сообщение
shved » 05 окт 2013, 12:43
При добавление в AndroidManifest.xml строчки:
Код: Выделить всё
<uses-permission android:name="android.permission.ACCOUNT_MANAGER" />
выдаёт ошибку: "Permission is only granted to system apps".
Подскажите пожалуйста что делать?
AndroidManifest.xml:
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCOUNT_MANAGER" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.test.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>
-
trew
- Сообщения: 450
- Зарегистрирован: 28 сен 2013, 17:34
Сообщение
trew » 05 окт 2013, 15:34
В интерфейсе Eclipse:
Window -> Preferences -> Android -> Lint Error Checking
в списке найти ProtectedPermission (это где-то посредине списка)
и установите для него другую категорию (т.е. не Error)
тогда проект должен скомпилироваться.
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
-
shved
- Сообщения: 3
- Зарегистрирован: 03 июл 2013, 09:57
Сообщение
shved » 05 окт 2013, 21:41
О спасибо большое, действительно компилятор пропустил.
Но подскажите пожалуйста мне ещё такую вещь. Я пытаюсь получить список аккаунтов на устройстве и для этого пытаюсь пользоваться "AccountManager.getAccountsByType", но как только дело до ходит до этого метода приложение крошится и eclipse выдаёт сообщения во вложении. Что нужно сделать чтобы получить список аккаунтов на устройстве?
Вот собственно мой "MainActivity.java":
Код: Выделить всё
package com.example.test;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.TextView;
import android.accounts.*;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
AccountManager ac = AccountManager.get(getApplicationContext());
Account[] account =ac.getAccountsByType("com.google");
((TextView)findViewById(R.id.MyLabel)).setText(account[0].name);
return true;
}
}
-
Вложения
-

- Choregrapher.class.png (55.02 КБ) 4679 просмотров
-
trew
- Сообщения: 450
- Зарегистрирован: 28 сен 2013, 17:34
Сообщение
trew » 05 окт 2013, 22:23
У меня ещё мало опыта, но попробую помочь.
Вот код без типа акаунта, посмотрите что-то видно на вкладке LogCat в eclipse
Код: Выделить всё
accountManager = AccountManager.get(getApplicationContext());
Account[] accounts = accountManager.getAccounts();
for ( int i = 0; i < accounts.length; i++ )
{
Log.d(TAG, accounts[i].name + " - " + accounts[i].type);
}
Log.d(TAG,... объявляется в начале класса, пример ниже
и ещё, может разрешений в файле манифеста не достаточно
Код: Выделить всё
<uses-permission android:name="android.permission.GET_ACCOUNTS"></uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS"></uses-permission>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
Когда выкладываете код на форум - код оформляйте. Редактор - поищите слова Geshi Syntax -Java. (или xml)
Свои сообщения можно редактировать - кнопка edit.
-
shved
- Сообщения: 3
- Зарегистрирован: 03 июл 2013, 09:57
Сообщение
shved » 06 окт 2013, 17:08
Да, Вы абсолютно правы. Просто не хватало разрешений. Большое Вам спасибо.