Diskuze: Zobrazení jména učtu na zařízení: GET_ACCOUNTS permission v tlačítku

Člen

Zobrazeno 11 zpráv z 11.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |


Myslíš tadyto this?
AccountManager.get(this)
Jestli ano tak to nahraď
AccountManager.get(MainActivity.this)
... bere to ten listener a nejspíš to potřebuje context 
Myslím to this co je v tom screenshotu hned nad tvým příspěvkem. Tedy ano
Neviem aké máš skúsenosti s programovaním, ale ak len začínaš možno
si si vybral trochu zložitejší cieľ 
Ak sa pozrieš, ktorá začiatočná zátvorka ti svieti k tej koncovej na ktorej si s kurzom, zistíš že patrí k tomu View.OnClickListener, takže za tú koncovú ešte treba doplnit dve koncové zátvorky k tým dvom, ktoré ti ostávajú naľavo od toho new View.OnClickListener.
Myslím že jen jednu, nechci přece uzavřít celou Main activity. Mám tam
totiž ještě ty další funkce. Tu jednu za ní tam mám.
Teď to vypadá takto a stále je to podtržené:
package com.example.uzivatele;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import android.Manifest;
import android.accounts.Account;
import android.accounts.AccountManager;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.LinkedList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private Button button_contacts ;
private static final int ACCOUNT_PERMISSION_CODE = 100;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
checkPermission(
Manifest.permission.GET_ACCOUNTS,
ACCOUNT_PERMISSION_CODE);
////
button_contacts = findViewById(R.id.button_get_names);
/// kód
button_contacts.setOnClickListener((new View.OnClickListener(){
@Override
public void onClick(View v){
AccountManager manager = AccountManager.get(MainActivity.this);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> username = new LinkedList<>();
for (Account account : accounts) {
username.add(account.name);
}
TextView myoutput = findViewById(R.id.output_text);
myoutput.setText((CharSequence) username);
///
};
};
}
public void checkPermission(String permission, int requestCode)
{
if (ContextCompat.checkSelfPermission(MainActivity.this, permission)
== PackageManager.PERMISSION_DENIED) {
// Requesting the permission
ActivityCompat.requestPermissions(MainActivity.this,
new String[] { permission },
requestCode);
}
else {
Toast.makeText(MainActivity.this,
"Permission already granted",
Toast.LENGTH_SHORT)
.show();
}
}
public void onRequestPermissionsResult(int requestCode,
String[] permissions,
int[] grantResults)
{
super.onRequestPermissionsResult(requestCode,
permissions,
grantResults);
if (requestCode == ACCOUNT_PERMISSION_CODE) {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(MainActivity.this,
"Accounts Permission Granted",
Toast.LENGTH_SHORT)
.show();
}
else {
Toast.makeText(MainActivity.this,
"Accounts Permission Denied",
Toast.LENGTH_SHORT)
.show();
}
}
}
}
Měl na mysli 2x klasickou závorku "))", jelikož máš před
new View.OnClickListener....
dvě závorky jedna je tam zbytečná.
Dobře, opraveno. I tak ale ta samá chyba. Jinak jsem si všiml, že hned tu
první závorku:
(new View.OnClickListener() nemám ukončenou ale ani nikde ukončit
nemůžu.
Co bych tedy ještě měl změnit? 
button_contacts.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AccountManager manager = AccountManager.get(MainActivity.this);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> username = new LinkedList<>();
for (Account account : accounts) {
username.add(account.name);
}
TextView myoutput = findViewById(R.id.output_text);
myoutput.setText((CharSequence) username));
///
};
};
Nemáš to opraveno
button_contacts.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
AccountManager manager = AccountManager.get(MainActivity.this);
Account[] accounts = manager.getAccountsByType("com.google");
List<String> username = new LinkedList<>();
for (Account account : accounts) {
username.add(account.name);
}
TextView myoutput = findViewById(R.id.output_text);
myoutput.setText((CharSequence) username));
};
});
PS: Jak už bylo řečeno chybí ti základy, zkus něco lehčího.
Zobrazeno 11 zpráv z 11.