SlideShare a Scribd company logo
1 of 24
Download to read offline
Android hide
An unknown features
About Me
Android developer
● Tempos 21
● Catmóbil SCP
● Catdroid
@lepetitbernat
http://es.linkedin.com/in/bernatp
About speech
Restricted profiles
-> JellyBean+
Crash reports
-> ApplicationErrorReport
-> Send Feedback (2 ways)
Hide intents
-> Data usage
Restricted profiles
Added in JellyBean
● Android 4.3
● API 18+
● Tablets
Restrictions
TYPE_BOOLEAN
TYPE_CHOICE
TYPE_MULTI_SELECT
BroadcastReceiver
IntentFilter
android.intent.action.
GET_RESTRICTION_ENTRIES
extends BroadCastReceiver {
onReceive(...)
PendingResult result = goAsync();
new Thread()
run()
// ADD RESTRICTIONS
CODE! Create broadcast
new ArrayList<RestrictionEntry>();
new RestrictionEntry(KEY_BOOLEAN, true);
entry.setTitle("Dangerous enabled");
entry.setType(RestrictionEntry.TYPE_BOOLEAN);
add(entry);
CODE! Create restrictions
CODE!
Bundle extras = new Bundle();
extras.putParcelableArrayList(
Intent.EXTRA_RESTRICTIONS_LIST, restrictions);
result.setResult(Activity.RESULT_OK, null, extras);
result.finish();
Final steps!
UserManager usrManager = (UserManager) getSystemService(Context.
USER_SERVICE);
Bundle restrictions =
usrManager.getApplicationRestrictions(getPackageName());
restrictions != null
restrictions.get(...);
CODE! Using restrictions
Restrictions
Not enough?
Intent customIntent = new Intent();
customIntent.setClass(context, SettingsActivity.class);
extras.putParcelable(
Intent.EXTRA_RESTRICTIONS_INTENT, customIntent);
result.setResult(Activity.RESULT_OK, null, extras);
result.finish();
CODE! Custom restrictions
Links
● d.android.com
○ http://goo.gl/I0D3PU
● DevBytes
○ https://www.youtube.com/watch?v=pdUcANNm72o
Crash reports
Added in IceCream
● Android 4.0
● API 14+
● Leave user write messages
Crash reports
Crash reports
ApplicationErrorReport
● TYPE_NONE
● TYPE_CRASH
● TYPE_ANR
● TYPE_BATTERY
● TYPE_RUNNING_SERVICE
Exception e;
...
report = new ApplicationErrorReport();
report.type = ApplicationErrorReport.TYPE_CRASH;
...
crash= new ApplicationErrorReport.CrashInfo();
report.crashInfo = crash;
...
arn = new ApplicationErrorReport.AnrInfo();
report.arnInfo = arn;
…
CODE! ApplicationErrorReport
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setClassName("com.google.android.feedback", "com.google.
android.feedback.FeedbackActivity");
intent.putExtra(Intent.EXTRA_BUG_REPORT, report)
startActivity(intent);
CODE! Intent
Crash reports
Intent.EXTRA_BUG_REPORT Intent.ACTION_APP_ERROR
CODE! Trick
FeedbackException
● Custom message
● Custom class name
● Custom stacktrace
● User messages
Links
● d.android.com
○ http://goo.gl/QZnjZW
● Black feedback
○ http://stackoverflow.com/a/20848542
● Google feedback
○ http://stackoverflow.com/a/22156938
Data usage
IntentFilter
android.intent.action.
MANAGE_NETWORK_USAGE
CODE! ApplicationErrorReport
Questions
?
Thanks
!https://github.com/alorma/Baug_Android_hide

More Related Content

Similar to Android hide

What's new in android jakarta gdg (2015-08-26)
What's new in android   jakarta gdg (2015-08-26)What's new in android   jakarta gdg (2015-08-26)
What's new in android jakarta gdg (2015-08-26)Google
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]Sittiphol Phanvilai
 
Android Logging System
Android Logging SystemAndroid Logging System
Android Logging SystemWilliam Lee
 
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능GDG Korea
 
Webinar slides: How to Secure MongoDB with ClusterControl
Webinar slides: How to Secure MongoDB with ClusterControlWebinar slides: How to Secure MongoDB with ClusterControl
Webinar slides: How to Secure MongoDB with ClusterControlSeveralnines
 
IoT on Raspberry PI v1.2
IoT on Raspberry PI v1.2IoT on Raspberry PI v1.2
IoT on Raspberry PI v1.2John Staveley
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Phuoc Nguyen
 
Taming botnets
Taming botnetsTaming botnets
Taming botnetsf00d
 
Life Cycle And Detection Of Bot Infections Through Network Traffic Analysis
Life Cycle And Detection Of Bot Infections Through Network Traffic AnalysisLife Cycle And Detection Of Bot Infections Through Network Traffic Analysis
Life Cycle And Detection Of Bot Infections Through Network Traffic AnalysisPositive Hack Days
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...CODE BLUE
 
Android things introduction - Development for IoT
Android things introduction - Development for IoTAndroid things introduction - Development for IoT
Android things introduction - Development for IoTBartosz Kosarzycki
 
Setup oracle golden gate 11g replication
Setup oracle golden gate 11g replicationSetup oracle golden gate 11g replication
Setup oracle golden gate 11g replicationKanwar Batra
 
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹GangSeok Lee
 
DEFCON 18- These Aren't the Permissions You're Looking For
DEFCON 18- These Aren't the Permissions You're Looking ForDEFCON 18- These Aren't the Permissions You're Looking For
DEFCON 18- These Aren't the Permissions You're Looking ForMichael Scovetta
 
Android securitybyexample
Android securitybyexampleAndroid securitybyexample
Android securitybyexamplePragati Rai
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android nSercan Yusuf
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking themMikhail Egorov
 

Similar to Android hide (20)

GCM aperitivo Android
GCM aperitivo AndroidGCM aperitivo Android
GCM aperitivo Android
 
What's new in android jakarta gdg (2015-08-26)
What's new in android   jakarta gdg (2015-08-26)What's new in android   jakarta gdg (2015-08-26)
What's new in android jakarta gdg (2015-08-26)
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
 
Android Logging System
Android Logging SystemAndroid Logging System
Android Logging System
 
How to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDKHow to Build & Use OpenCL on OpenCV & Android NDK
How to Build & Use OpenCL on OpenCV & Android NDK
 
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
GKAC 2014 Nov. - 안드로이드 5.0의 새로운 기능
 
Webinar slides: How to Secure MongoDB with ClusterControl
Webinar slides: How to Secure MongoDB with ClusterControlWebinar slides: How to Secure MongoDB with ClusterControl
Webinar slides: How to Secure MongoDB with ClusterControl
 
IoT on Raspberry PI v1.2
IoT on Raspberry PI v1.2IoT on Raspberry PI v1.2
IoT on Raspberry PI v1.2
 
Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development Android Nâng cao-Bài 9-Debug in Android Application Development
Android Nâng cao-Bài 9-Debug in Android Application Development
 
Taming botnets
Taming botnetsTaming botnets
Taming botnets
 
Life Cycle And Detection Of Bot Infections Through Network Traffic Analysis
Life Cycle And Detection Of Bot Infections Through Network Traffic AnalysisLife Cycle And Detection Of Bot Infections Through Network Traffic Analysis
Life Cycle And Detection Of Bot Infections Through Network Traffic Analysis
 
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
[cb22] Fight Against Malware Development Life Cycle by Shusei Tomonaga and Yu...
 
Android Froyo
Android FroyoAndroid Froyo
Android Froyo
 
Android things introduction - Development for IoT
Android things introduction - Development for IoTAndroid things introduction - Development for IoT
Android things introduction - Development for IoT
 
Setup oracle golden gate 11g replication
Setup oracle golden gate 11g replicationSetup oracle golden gate 11g replication
Setup oracle golden gate 11g replication
 
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹
[2007 CodeEngn Conference 01] dual5651 - Windows 커널단의 후킹
 
DEFCON 18- These Aren't the Permissions You're Looking For
DEFCON 18- These Aren't the Permissions You're Looking ForDEFCON 18- These Aren't the Permissions You're Looking For
DEFCON 18- These Aren't the Permissions You're Looking For
 
Android securitybyexample
Android securitybyexampleAndroid securitybyexample
Android securitybyexample
 
Getting your app ready for android n
Getting your app ready for android nGetting your app ready for android n
Getting your app ready for android n
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking them
 

Android hide