[android-developers] Digest for android-developers@googlegroups.com - 25 updates in 18 topics

SALMA BHAT <salma.recruiter@gmail.com>: Jun 15 02:41PM -0400

Hi Partners,
 
This is back fill role ,please share resume at* naseer.ahmad@nityo.com
<naseer.ahmad@nityo.com>*
 
 
 
 
 
 
*Role : ETL lead / Solution Architect – DATASTAGE, IIS 11.3 / IIS
11.5Technology : Datastage 11.3 (IBM Infosphere Information Server
Enterprise Edition) Location : SFO, CAExperience – 10+ years . Onboarding
date : ASAP*
 
*Job Responsibilities:*
 
1. Extensive 11.3 or Higher Version- InfoSphere Data stage Technical
experience
2. Extensive SAP BW / ECC and HANA integration experience
3. We need someone who is HANDS-ON
4. Oversee large ETL Migration/Modernization program
2. Single point of contact for overall solution/program -
technically.
3. Work with multiple stakeholders
4. Manage multiple Rollouts/Waves/Phases
5. Manage Global Delivery structure
6. Create Governance structure to own/manage and execute the
solution
7. Report to Clients/Stakeholders
8. Status reporting – periodic
9. Knowledge or Little Work Experience on SAP BW based
Integration and HANA
10. Experience on Migration from DS 7.x 8.x to 11.x
Rahul Bhatia <bhatiarahul11111@gmail.com>: Jun 15 10:35AM -0700

I have build an app game but its not providing user its gained xps
Please look into the question I am stuck into it !:-
http://stackoverflow.com/questions/37570914/how-to-add-gained-xp-and-achievements-to-google-game-profile
Arab Sara <arabhouseaa@gmail.com>: Jun 15 05:06PM +0200

*الدار العربية للتنمية الإدارية*
 
*بالتعاون مع *
 
*الإتحاد الدولى لمؤسسات التنمية البشرية*
 
*تعقد*
 
*(المؤتمر العربى الخامس)*
 
*التطوير الاداري في المؤسسات الحكومية *
 
*السياسات العامة*
 
*مقر الأنعقاد : اسطنبول – تركيا*
 
*مدة الانعقاد : خلال الفترة من 25 الى 29 ديسمبر 2016 م*
 
 
 
*حيث* *تسعى الحكومات جاهدة الى حل مشاكل المواطنين والاستجابة لمطاليهم
المتنوعة من خلال مجموعة من الخطط والبرامج (يطلق عليها السياسات العامة)
الهادفة الى تحقيق جملة من المنافع وتخفيف المعاناة عن الغالبية منهم، وليس
ذلك فقط بل ضمان عملية التطوير المستمرة لهذه السياسات بما يضمن الحل الدائم
لمشكلات المواطنين وضمان سرعة تقديم هذه الحلول، ولايمكن ضمان ذلك **إلا عبر
امتلاك تصور كامل عن الكيفية التي حدث ويحدث فيها الاندماج بين الفكر
والممارسة الإدارية من جهة وتكنولوجيا المعلومات من جهة ثانية، حيث تستوعب
عملية التطوير الانشطة والعمليات وتعاملها بطرق تمنحها خصائص جديدة في الشكل
والمضمون والتأثير. *
 
*· **كما يهدف **المؤتمر** إلى* *التعرف على السياسات العامة في مجتمع
المعرفة . عرض لأساليب الاندماج بين النظم الرقمية والنظم الإدارية. استشراف
مستقبل واتجاهات التطوير الإداري في ظل مستجدات تكنولوجيا المعلومات. فرص
التحٌول البٌناء نحو تطبيقات نظم المعلومات. عرض مشكلات التحٌول نحو نظم
الإدارة الإلكترونية وتطبيقاتها.*
 
*علما بأن محاور* *المؤتمر ستتضمن المحور الأول: المعلوماتية والإدارة
والسياسات العامة، والمحور الثاني: إدارة أعمال الحكومة الإلكترونية وعلاقتها
بالسياسات العامة ، والمحور الثالث: إستراتيجيات التطوير في السياسات العامة
وعلاقتها بتطوير الإدارة باستخدام تكنولوجيا المعلومات والاتصالات، والمحور
الرابع: التكامل بين نظم المعلومات واحتياجات المؤسسات والأجهزة الحكومية . *
 
*كما أن المستهدفين لحضور المؤتمر هم :* *رؤساء وأعضاء مجالس الإدارة، مديري
العموم، في الوزارات المختلفة. مديري ادارات تنمية الموارد البشرية وشئون
الموظفين والتدريب والتطوير الاداري والعاملين بها. أخصائي نظم المعلومات
والعاملين في مجالات تطبيقات الإدارة الإلكترونية في الوزارات والهيئات
والمؤسسات والمنظمات والبنوك والجمعيات والمجالس والقطاع العام والخاص
والشركات والمصانع.*
 
 
 
*أوراق المؤتمر**:* *كما يسعد الدار أن تستقبل البحوث المبتكرة الرفيعة
المستوى سواء من قبل الخبراء في المجال، أو من قبل طلاب الماجستير والدكتوراه
والباحثين في هذا الجانب، حيث سيتم تحكيم هذه البحوث من قبل لجنة من الأساتذة
المتخصصين في المجال، وستوضع ضمن أوراق المؤتمر على أن تراعى فيها المعايير
العلمية والمنهجية في كتابة البحوث وقائمة المراجع بها، كما سيسمح لأصحاب بعض
هذه الأوراقبضمها إلى فعاليات وجلسات المؤتمر، علما بأن كل ورقة سيتم قبولها
سيتم خصم 25% من** قيمة حضور المؤتمر* .
 
*والدار العربية يسرها دعوتكم للمساهمة والمشاركة في أعمال الفاعليات من خلال
تجربة مميزة أو بالحضور والمناقشة، كذلك ترشيح من ترون من كوادر مؤسستكم
الموقرة وتمنح الدار العربية مقعدا خامس مجانا في حال ترشيح سيادتكم اربع
افراد من مؤسستكم الموقرة.*
 
*علما بإن رسوم الاشتراك **1000* *دولار. أمريكي للفرد .*
 
*التسجيل وتأكيد المشاركة*
 
*يتم إرسال خطاب المشاركة الرسمى او تعبئة النموذج المرفق موضح بة أسماء
المرشحين – مناصبهم الإدارية - اسم النشاط – طريقة سداد رسوم المشاركة ( كاش
اول أيام التدريب او بتحويل بنكى قبل بدء النشاط)وصورة من تذكرة الطيران علي
فاكس رقم *0020237800573 او0020235866323 *اوعلي بريدي الإلكتروني*
*saragwadi@gmail.com* <saragwadi@gmail.com>
 
 
 
*لمزيد من المعلومات يمكنكم التواصل مع*
 
*نائب مدير التدريب*
 
*أ / سارة عبد الجواد*
 
*جوال : 00201112694608*
 
*هاتف : 0020237800693 – 0020237800583*
 
*فاكس : 0020237800573 – 0020235866323*
 
*SaraGwadi@Gmail.Com*
USIT Recruiter <usitrecruiter93@gmail.com>: Jun 15 08:23PM +0530

Hi
 
Please lookup the below position and if you feel comfortable ,then please
send me your updated resume
 
 
 
Position : Cloud Architect/Engineer ( Azure )
 
Location: Chevy Chase, MD
 
Durarion : Contract
 
 
 
Job Requirement :
 
Microsoft Network Certifications (MCSE, MCSM etc….)
 
Experience with F5 (BIG-IP) is a plus
 
Experience with Azure ILBs and load-balancing technologies is a must.
 
PowerShell scripting and/or other scripting experience is a must.
 
Demonstrate an understanding of Azure architecture from a networking
standpoint.
 
Familiarity with Azure networking is a must; including Network Security
Groups experience.
 
.Net development is a plus.
 
 
 
Job Description:
 
 
 
Primary Skills:
Looking for the extensive experience DevOps (Cloud and Azure)
 
Secondary Skills:
.Net is a plus
 
 
 
 
Mandatory Skills
 
Technical / Soft Skills
 
Expertise Level (Expert / Good / Knowledge)
 
DevOps
 
Expert
 
Windows Azure
 
Expert
 
Cloud Computing
 
Expert
 
 
 
Desired Skills
 
Technical / Soft Skills
 
Expertise Level (Expert / Good / Knowledge)
 
.NET
 
Good
 
 
 
 
 
Thanks & Regards!
 
 
Abhishek Kumar | Sr. Technical Recruiter | Pro-Tek Consulting | Office:
201-204-1263 | <mailto:Abhishek@pro-tekconsulting.com>
Abhishek@pro-tekconsulting.com
 
Hangout :: USITRecruiter1993
 
Description: cid:sigimg0@feaa1bdd6ffc62da9a44d4fc65960bcd
 
New Thinking. New Staffing. <http://www.pro-tekconsulting.com/>
http://www.pro-tekconsulting.com
 
 
 
For H1B Consultants H1B Copy Is Mandatory For Submission To Client.
Jubril Siji <oyesiji@gmail.com>: Jun 15 07:53AM -0700

Hello,
I got the following instructions on how to add google play services library
to my project
 
Copy the library project at
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/
to the location where you maintain your Android app projects.
Import the library project into your Eclipse workspace. Click File >
Import, select Android > Existing Android Code into Workspace, and browse
to the copy of the library project to import it.
 
 
 
 
 
Problem is the folder google-play-services_lib does not exist even though i
have
C:\framework\android-sdks\extras\google\google_play_services\samples
Lamax Electronics <lamax2015@gmail.com>: Jun 15 05:21AM -0700

Hello,
I work for Czech company which is developing new devices with Android 4.4.
It is a car camera and we wanna to have Google application pack (Google
Play, Youtube, etc..) as a default in the device. We gonna sell this device
in whole Europe. Is it free of charge or is there any kind of licence
agreement?
Thanks
"Алексей Жадов" <exfaust@yandex.ru>: Jun 15 04:23AM -0700

Good day, please help to understand what means: E/Camera: Error 2
 
My Camera-code does not work on android 6.0 only and the other works.
 
SimpleCameraView.java:
import android.content.Context;
import android.content.res.Configuration;
import android.graphics.ImageFormat;
import android.graphics.Point;
import android.hardware.Camera;
import android.os.Build;
import android.util.Log;
import android.view.Display;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.RelativeLayout;
 
import java.util.List;
 
public class SimpleCameraView extends SurfaceView implements SurfaceHolder.
Callback {
private SurfaceHolder surfaceHolder;
private Camera camera;
private Camera.PreviewCallback previewCallback;
private Display display;
 
public SimpleCameraView(Context context, Camera.PreviewCallback
previewCallback) {
super(context);
this.previewCallback = previewCallback;
this.display = ((WindowManager) context.getSystemService(Context.
WINDOW_SERVICE)).getDefaultDisplay();
this.surfaceHolder = this.getHolder();
this.surfaceHolder.addCallback(this);
this.surfaceHolder.setType(3);
this.setKeepScreenOn(true);
this.configureCamera(this.getResources().getConfiguration());
}
 
public Camera getCamera() {
try {
this.camera = Camera.open();
//this.camera.lock();
Log.e("1111111","getCamera");
} catch (Exception var2) {
var2.printStackTrace();
}
 
return this.camera;
}
 
public void surfaceCreated(SurfaceHolder holder) {
try {
this.camera.setPreviewDisplay(holder);
Log.e("1111111","surfaceCreated");
} catch (Exception var3) {
var3.printStackTrace();
}
 
}
 
public void surfaceDestroyed(SurfaceHolder holder) {
 
this.stopCamera();
Log.e("1111111","surfaceDestroy");
}
 
public void surfaceChanged(SurfaceHolder holder, int format, int width, int
height) {
startCamera();
Log.e("1111111","surfaceChanged");
}
 
public boolean configureCamera(Configuration configuration) {
try {
this.getCamera();
if (this.camera != null) {
int e = this.getScreenWidth();
int height = this.getScreenHeight();
int displayOrientationDegrees = this.getDisplayOrientationDegrees(this.
display);
this.camera.setDisplayOrientation(displayOrientationDegrees);
Camera.Size previewSize = this.camera.getParameters().getPreviewSize();
float aspect = (float) previewSize.width / (float) previewSize.height;
ViewGroup.LayoutParams cameraHolderParams = new RelativeLayout.LayoutParams
(480,640);
if (configuration.orientation == 1) {
cameraHolderParams.height = height;
cameraHolderParams.width = (int) ((float) height / aspect);
} else {
cameraHolderParams.width = e;
cameraHolderParams.height = (int) ((float) e / aspect);
}
 
this.setLayoutParams(cameraHolderParams);
Log.e("1111111","configureCamera");
return true;
}
} catch (Exception var8) {
var8.printStackTrace();
}
 
return false;
}
 
private int getScreenWidth() {
if (Build.VERSION.SDK_INT < 13) {
return this.display.getWidth();
} else {
Point size = new Point();
this.display.getSize(size);
return size.x;
}
}
 
private int getScreenHeight() {
if (Build.VERSION.SDK_INT < 13) {
return this.display.getHeight();
} else {
Point size = new Point();
this.display.getSize(size);
return size.y;
}
}
 
private int getDisplayOrientationDegrees(Display display) {
int orientation = this.getResources().getConfiguration().orientation;
short displayOrientationDegrees;
switch (display.getRotation()) {
case 0:
if (orientation == 1) {
displayOrientationDegrees = 90;
} else {
displayOrientationDegrees = 0;
}
break;
case 1:
if (orientation == 2) {
displayOrientationDegrees = 0;
} else {
displayOrientationDegrees = 270;
}
break;
case 2:
if (orientation == 1) {
displayOrientationDegrees = 270;
} else {
displayOrientationDegrees = 180;
}
break;
case 3:
if (orientation == 2) {
displayOrientationDegrees = 180;
} else {
displayOrientationDegrees = 90;
}
break;
default:
displayOrientationDegrees = 0;
}
 
return displayOrientationDegrees;
}
 
public void stopCamera() {
try {
this.camera.stopPreview();
this.camera.setPreviewCallback((Camera.PreviewCallback) null);
this.camera.release();
this.camera = null;
Log.e("1111111","stopCamera");
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
 
public void startCamera() {
try {
if (this.surfaceHolder.getSurface() == null) {
Log.e("1111111","null surface");
return;
}
this.camera.reconnect();
this.camera.setPreviewDisplay(this.surfaceHolder);
if (this.previewCallback != null) {
this.camera.setPreviewCallback(this.previewCallback);
}
Camera.CameraInfo info = new Camera.CameraInfo();
Camera.getCameraInfo(Camera.CameraInfo.CAMERA_FACING_BACK, info);
int rotate = (info.orientation + 360) % 360;
Camera.Parameters params = camera.getParameters();
params.setJpegQuality(50);
params.setPictureFormat(ImageFormat.JPEG);
List<Camera.Size> sizes = params.getSupportedPictureSizes();
Camera.Size size = sizes.get(0);
/*for (int i=0;i<sizes.size();i++)
if (sizes.get(i).width > 1000 && sizes.get(i).width<1500)
if (sizes.get(i).height < 2000 && sizes.get(i).height> 1500)
size = sizes.get(i);*/
if (size.width > 480) {
for (int i = 0; i < sizes.size(); i++)
if (sizes.get(i).width < size.width && sizes.get(i).width > 480)
size = sizes.get(i);
} else
for (int i = 0; i < sizes.size(); i++)
if (sizes.get(i).width > size.width && sizes.get(i).width < 1000)
size = sizes.get(i);
params.setPictureSize(size.width, size.height);
params.setRotation(rotate);
camera.setDisplayOrientation(90);
camera.setParameters(params);
this.camera.startPreview();
Log.e("1111111","startCamera");
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
}
 
 
SimpleScannerFragment.java:
import android.content.Context;
import android.content.pm.PackageManager;
import android.content.res.Configuration;
import android.hardware.Camera;
import android.hardware.Camera.AutoFocusCallback;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.PreviewCallback;
import android.hardware.Camera.Size;
import android.os.Bundle;
import android.os.Handler;
import android.os.Vibrator;
import android.support.v4.app.Fragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
 
import java.util.Iterator;
 
import net.sourceforge.zbar.Image;
import net.sourceforge.zbar.ImageScanner;
import net.sourceforge.zbar.Symbol;
import net.sourceforge.zbar.SymbolSet;
 
public class SimpleScannerFragment extends Fragment {
private ImageScanner scanner;
private SimpleCameraView cameraView;
private PackageManager packageManager;
private Vibrator vibrator;
private Handler configurationHandler = new Handler();
private Handler autoFocusHandler = new Handler();
private Runnable reconfigureRunnable = new SimpleScannerFragment.
CustomConfigureRunnable();
private Runnable runAutoFocus = new SimpleScannerFragment.
CustomAutoFocusRunnable();
private PreviewCallback previewCallback = new SimpleScannerFragment.
CustomPreviewCallback();
private AutoFocusCallback autoFocusCallback = new SimpleScannerFragment.
CustomAutoFocusCallback();
private ScannerListener scannerListener;
 
public SimpleScannerFragment() {
}
 
public void setScannerListener(ScannerListener scannerListener) {
this.scannerListener = scannerListener;
}
 
public SimpleCameraView getCamera() {
return cameraView;
}
 
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
this.vibrator = (Vibrator) this.getActivity().getSystemService(Context.
VIBRATOR_SERVICE);
this.scanner = new ImageScanner();
this.scanner.setConfig(0, 256, 3);
this.scanner.setConfig(0, 257, 3);
Log.e("1111111","create");
}
 
public void onPause() {
super.onPause();
 
try {
this.cameraView.stopCamera();
this.stopAutofocus();
Log.e("1111111","onpause");
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
 
public void onResume() {
super.onResume();
 
try {
this.configureCamera();
Log.e("1111111","onresume");
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
 
public void stopAutofocus() {
if (this.isHaveAutoFocus() && this.cameraView.getCamera() != null) {
this.autoFocusHandler.removeCallbacks(this.runAutoFocus);
this.cameraView.getCamera().cancelAutoFocus();
Log.e("1111111","stopautofocus");
}
 
}
 
private void startAutofocus() {
if (this.isHaveAutoFocus()) {
this.autoFocusHandler.postDelayed(this.runAutoFocus, 3000L);
this.cameraView.getCamera().autoFocus(this.autoFocusCallback);
Log.e("1111111","startautofocus");
}
 
}
 
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
this.configureCamera();
Log.e("1111111","onconfigurationchanged");
}
 
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
this.cameraView = new SimpleCameraView(inflater.getContext(), this.
previewCallback);
Log.e("1111111","createview");
return this.cameraView;
}
 
private boolean isHaveAutoFocus() {
if (this.packageManager == null) {
this.packageManager = this.getActivity().getPackageManager();
}
 
return this.packageManager.hasSystemFeature(
"android.hardware.camera.autofocus");
}
 
private void configureCamera() {
this.configurationHandler.postDelayed(this.reconfigureRunnable, 500L);
Log.e("1111111","confCamera");
}
 
static {
System.loadLibrary("iconv");
}
 
private class CustomPreviewCallback implements PreviewCallback {
private long lastSnapshotTime;
 
private CustomPreviewCallback() {
}
 
public void onPreviewFrame(byte[] data, Camera incomingCamera) {
try {
if (System.currentTimeMillis() > this.lastSnapshotTime) {
this.lastSnapshotTime = System.currentTimeMillis() + 3500L;
Camera.Parameters e = incomingCamera.getParameters();
Size previewSize = e.getPreviewSize();
Image barcode = new Image(previewSize.width, previewSize.height, "Y800");
barcode.setData(data);
if (SimpleScannerFragment.this.scanner.scanImage(barcode) != 0) {
SymbolSet scannerResults = SimpleScannerFragment.this.scanner.getResults();
if (SimpleScannerFragment.this.vibrator != null) {
SimpleScannerFragment.this.vibrator.vibrate(300L);
}
 
Iterator i$ = scannerResults.iterator();
 
while (i$.hasNext()) {
Symbol symbol = (Symbol) i$.next();
if (SimpleScannerFragment.this.scannerListener == null) {
Toast.makeText(SimpleScannerFragment.this.getActivity(), symbol.getData(),
Toast.LENGTH_LONG).show();
} else {
SimpleScannerFragment.this.scannerListener.onDataReceive(symbol.getData(),
symbol.getType());
}
}
}
}
} catch (Exception var9) {
var9.printStackTrace();
}
 
}
}
 
private class CustomConfigureRunnable implements Runnable {
private CustomConfigureRunnable() {
}
 
public void run() {
try {
boolean e = SimpleScannerFragment.this.cameraView.configureCamera(
SimpleScannerFragment.this.getResources().getConfiguration());
if (!e) {
SimpleScannerFragment.this.configurationHandler.postDelayed(this, 500L);
SimpleScannerFragment.this.cameraView.stopCamera();
} else {
SimpleScannerFragment.this.configurationHandler.removeCallbacks(this);
SimpleScannerFragment.this.cameraView.startCamera();
SimpleScannerFragment.this.startAutofocus();
}
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
}
 
private class CustomAutoFocusRunnable implements Runnable {
private CustomAutoFocusRunnable() {
}
 
public void run() {
try {
if (SimpleScannerFragment.this.cameraView != null && SimpleScannerFragment.
this.cameraView.getCamera() != null && SimpleScannerFragment.this.
isHaveAutoFocus()) {
SimpleScannerFragment.this.cameraView.getCamera().autoFocus(
SimpleScannerFragment.this.autoFocusCallback);
}
} catch (Exception var2) {
var2.printStackTrace();
}
 
}
}
 
private class CustomAutoFocusCallback implements AutoFocusCallback {
private CustomAutoFocusCallback() {
}
 
public void onAutoFocus(boolean success, Camera camera) {
SimpleScannerFragment.this.autoFocusHandler.postDelayed(
SimpleScannerFragment.this.runAutoFocus, 3000L);
}
}
}
 
 
Manifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
 
<uses-feature android:name="android.hardware.vibrate" android:required=
"false"/>
<uses-feature android:name="android.hardware.camera"
android:required="true" />
<uses-feature android:name="android.hardware.camera.autofocus"
android:required="true" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera.flash"
android:required="true" />
 
View:
<fragment
android:id="@+id/scannerFragment"
class="com.app.reclamavdom.app.SimpleScannerFragment"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
sardar khan <sardar.khan299@gmail.com>: Jun 15 05:00PM +0500

Hey,
have you check the runtime permission for camera..?? have a look at this
article
https://developer.android.com/training/permissions/requesting.html
 
"Алексей Жадов" <exfaust@yandex.ru>: Jun 15 05:08AM -0700

Yes, of course, runtime permissions is active.
 
среда, 15 июня 2016 г., 15:03:45 UTC+3 пользователь sardar khan написал:
Aurel Chiper <aurel.chiper@safefleet.eu>: Jun 15 04:26AM -0700

Hi, I had the same error. After disabling TestMode all my testers can rate
app
 
Ofir Sudai <ofir@younow.com>: Jun 15 03:26AM -0700

Hi,
 
I am testing the in app subscription on android devices(In app billing V3.
api). I want to allow users to cancel their subscription, and if it is
within the active period, resubscribe (which , how I see it, will just turn
autoRenewing to true, without any other changes).
 
I have some problems about re-subscription...
 
From the documentation:
http://developer.android.com/intl/ko/google/play/billing/billing_subscriptions.html#manual-renewal
<http://i.stack.imgur.com/9AowS.png>
To help users who cancel a subscription and want to subscribe again, you
can add the ability for users to resubscribe without having to wait until
the end of their existing subscription period. When a user resubscribes
before the end of their existing subscription period, they'll see a $0.00
charge.
 
But in the following link,
https://support.google.com/googleplay/android-developer/answer/140504?hl=en
<http://i.stack.imgur.com/hSocL.png>:
 
Manual Renewal
 
With version 3 of the In-app Billing API, users can renew a subscription
during its active period even if the subscription is not set to
automatically renew. If the user purchases a subscription while the
subscription is active, it is extended by the appropriate period at the
current rate.
 
For example, Achilles has a subscription to the Modern Hoplite app. His
subscription is currently due to expire on August 1. On July 10, he
purchases a 1-month subscription at the current rate. This one month is
added to his existing subscription, so the subscription now expires on
September 1.
 
It is up to the app to convey this with an appropriate UI. For example, if
a user does not have an active subscription, the app might have a buy
button, but if the user has a subscription the button might say renew.
 
 
Actually I try to re-subscription test with test account, paid full charge
and success re-subscription through the application. but the receipt doesnt
change. autoRenewing flag of receipt is false.
MarKco <ilsecondodasinistra@gmail.com>: Jun 15 02:03AM -0700

I was able to build a correctly zipaligned APK by downgrading gradle plugin
from classpath com.android.tools.build:gradle:2.2.0-alpha3
to com.android.tools.build:gradle:2.1.2 as suggested
here: http://stackoverflow.com/questions/37783751/android-apk-not-zip-aligned-when-uploading-to-google-play/37786864#37786864
 
Il giorno martedì 14 giugno 2016 12:22:30 UTC+2, MarKco ha scritto:
Sun Light <sun.light.apps@gmail.com>: Jun 15 02:18AM -0700

I tried to:
- zipalign once, not working, still same problem.
- zipalign twice, not working - You uploaded an APK with invalid or missing
signing information for some of its files. You need to create a valid
signed APK.
- reinstall Android Studio to last stable version include SDK - still same
problem
Any other idea what I can do?
 
On Monday, June 13, 2016 at 3:48:36 PM UTC+2, Fabs wrote:
Sun Light <sun.light.apps@gmail.com>: Jun 15 02:19AM -0700

I tried to:
- zipalign once, not working, still same problem.
- zipalign twice, not working - You uploaded an APK with invalid or missing
signing information for some of its files. You need to create a valid
signed APK.
- reinstall Android Studio to last stable version include SDK - still same
problem
Any other idea what I can do?
MarKco <ilsecondodasinistra@gmail.com>: Jun 15 02:23AM -0700

Yes, as I stated above you can downgrade your gradle plugin from
build.gradle without downgrading Android Studio and thus you'll be able to
build zipaligned APKs.
 
"n build.gradle I changed gradle plugin version from
 
classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
 
to
 
classpath 'com.android.tools.build:gradle:2.1.2'
 
Rebuild, sign, upload - no more zipalign errors."
(from http://stackoverflow.com/questions/37783751/android-apk-not-zip-aligned-when-uploading-to-google-play/37786864#37786864)
 
Regards
 
Il giorno mercoledì 15 giugno 2016 11:19:32 UTC+2, Sun Light ha scritto:
Sun Light <sun.light.apps@gmail.com>: Jun 15 02:32AM -0700

This helped, nothing else does, but this finally solve the problem! Thank
you!
http://stackoverflow.com/questions/37783751/android-apk-not-zip-aligned-when-uploading-to-google-play/37786864#37786864
<http://www.google.com/url?q=http%3A%2F%2Fstackoverflow.com%2Fquestions%2F37783751%2Fandroid-apk-not-zip-aligned-when-uploading-to-google-play%2F37786864%2337786864&sa=D&sntz=1&usg=AFQjCNGAiG0KcZ-4mZ3OtvdWx6GCiPLlBA>
jaumebalust <balust.jaume@gmail.com>: Jun 15 03:15AM -0700

YES!! FINALLYYY
 
 
On Wednesday, June 15, 2016 at 11:32:18 AM UTC+2, Sun Light wrote:
Omkareswara Reddy <omkar474@gmail.com>: Jun 15 02:00AM -0700

Hi every one,,
 
 
This is xml file
 
<apps>
<app>
<name>Locket Photo Frames</name>
<url>market://details?id=com.appbasic.locketphotoframes</url>
<image>http://appbasic.com/promimg/locketphotoframes.png</image>
</app>
<app>
<name>Winter Men Photo Suit </name>
<url>market://details?id=com.appbasic.wintermenphotosuit</url>
<image>http://appbasic.com/promimg/wintermenphotosuit.png</image>
</app>
<app>
<name>Street Poster Photo Frames</name>
<url>market://details?id=com.appbasic.streetposterphotoframes</url>
<image>http://appbasic.com/promimg/streetposterphotoframes.png</image>
</app>
<app>
<name>Tulip Photo Frames</name>
<url>market://details?id=com.appbasic.tulipphotoframes</url>
<image>http://appbasic.com/promimg/tulipphotoframes.png</image>
</app>
<app>
<name>Horse Photo Frames</name>
<url>market://details?id=com.appbasic.horsephotoframes</url>
<image>http://appbasic.com/promimg/horsephotoframes.png</image>
</app>
<app>
<name>Holiday Photo Frames</name>
<url>market://details?id=com.appbasic.holidayphotoframes</url><image>
http://appbasic.com/promimg/holidayphotoframes.png</image>
</app>
<app>
<name>Birthday Photo Frames</name>
<url>market://details?id=com.appbasic.birthdayphotoframes</url>
<image>http://appbasic.com/promimg/birthdayphotoframes.png</image>
</app>
<app>
<name>Photo Color Changer</name><url>market://details?id=com.appbasic.
photocolorchanger</url>
<image>http://appbasic.com/promimg/photocolorchanger.png</image>
</app>
</apps>
 
 
plz send the code this mail is "omkar474@gmail.com"
Sandeep Hanumanthakari <h.sandeep25@gmail.com>: Jun 15 01:57AM -0700

Hii
 
we are using property animations in the our apps. i want to know is there
any api or tools to validate whether animations are working on the Views.
Dan Hastings <vaibanezjem@gmail.com>: Jun 15 01:37AM -0700

I have created a gaming app that displays information on video games and
integrates with the main website. Each page includes a small 200x150 image
for the game wallpaper on each page for the game. I have submitted the app
and i got rejected on the grounds that "your app contains official images
in the app activity.". This is true, but it is no different to the content
of 100s of other apps. In fact there are already 2 similar apps on the
store that are from independent, non official developers that have similar
content. In fact both of them contain official game images in the
screenshots of the app on the store. There are thousands of video games out
there, it is completely impossible to get permission from all these
developers to use the box art. How is it that these other apps have been
able to get past any copyright infringement issues, yet i seem to be stuck
with some stringent copyright rules that are very unrealistic. As far as i
am aware, thumbnails fall under fair use. The resolution of the images
being used are so small that they have to be considered thumbnails.
 
I have tried to appeal this using the same argument above, but I cant see
it being successful. Where do i stand with this? Other apps are on the
store doing similar things to my app. All of the images being used are
stored on a web server not within the APK itself. The app file contains no
content other than code. All images and information are pulled from a
server that I maintain. Is this something i could use to get past the
rejection? Is there some other shortcut that i do now know of that other
people are using to get around these copyright issues?
aymeric Oneshot <aymeric.barbin@hotmail.fr>: Jun 15 01:32AM -0700

Hi, I have a question regarding Android Telephony API.
 
There is a function called setLacAndCID()
(https://developer.android.com/reference/android/telephony/gsm/GsmCellLocation.html#setLacAndCid(int,%20int))
, so I tried to modify my Lac and CID using this function in my app, but
only the Java Object is changed not the true CID and Lac of the phone.
 
Is it a normal behaviour ? If yes, do you know a way to force theses
changes using android or Java classes ? (I tried with AT commands but
nothing works)
 
Cheers
 
Aymeric
Omar El-Sayed <omarihabelsayed@gmail.com>: Jun 15 01:26AM -0700

I started using the android studio and everytime I try to launch the AVD
emulator a message pops up says: "VT-X is disabled in BIOS".
Is there anyway to fix this problem without opening the BIOS and if there
isn't does that mean that I won't be able to use the emulator on my laptop
(Lenovo Y50) forever ???!!
Wapp Notech <wappnotech65@gmail.com>: Jun 15 12:26AM -0700

<https://lh3.googleusercontent.com/-rdUgpbQRKeU/V2EC9MsKJCI/AAAAAAAACHA/7G914WdmxX0zpfb9v4-ZvfKKhFbrepmMwCLcB/s1600/4.png>
 
MediPrank - Photo Editing is the most fun and creative Image Editing for
your photos! With MediPrank - Photo Editor, you can add new frames to your
favorite images for Instagram, any picture will be perfect!
 
MediPrank is a prank application to get fun and trick your friends! This
app will entertain you and your friends! Make your friends think you are or
whoever's image you editing is suffering from this kinds of injuries and
damage.
 
A powerful mobile photo editor, providing a wide array of photo editing
tools such as a clone tool, crop tool, photo blending and enhancement tool,
text overlays, image overlays, layer editing, photo filters, camera layers,
and hundreds of customizable brush filters, masks, shape masks, and more.
PicsArt also hosts weekly photo editing contests based on these features.
 
*Download and Rating "MediPrank" Apps on your mobiles and enjoy the game
click here http://bit.ly/22XzuGR <http://bit.ly/22XzuGR>*
care.ly.devtest@gmail.com: Jun 15 12:11AM -0700

Hi,
After I upload the application to the google play, I can see a warning like
below,
 
"
 
*Security Alert: Your app contains embedded private keys or keystore files*
 
This app contains one or more private keys or keystore files embedded in
its published apk as listed at the end of this message. These embedded
items can be accessed by third parties, which can raise a variety of
different security concerns depending on what the key is used for. For
example, if the private key is the signing key for your application, a
third party could sign and distribute apps that replace your authentic apps
or corrupt them. Such a party could also sign and distribute apps under
your identity.
 
As a general security practice, we strongly recommend against embedding
private keys and keystore files in apps, even if the keys are password
protected or obfuscated. The most effective way to protect your private key
and keystore files are not to circulate them.
 
*Please remove your private keys and keystore files from your app at your
earliest convenience.* For more information about keeping your keys secure,
please see https://developer.android.com/tools/publishing/app-signing.html.
 
You have a responsibility as a developer to secure your private key
properly, at all times. *Please note, applications with vulnerabilities
that expose users to risk of compromise may be considered in violation of
our "Malicious Behavior" policy and section 4.4 of the Developer
Distribution Agreement.*
 
 
- res/raw/****_godaddy_cert.keystore
 
Affects APK version ****.
 
"
 
Please note that this is not the application signing keystore. This is the
keystore which contains the SSL certificate, Which used to process SSL
handshake for devices below android version 6.0.0 since this certificate is
not recognized as a valid certificate(i.e. not in the device security key
chain)
 
I use this link to get the keystoe done
- http://kdehairy.com/handling-ssl-certificates-in-android/
 
There is a solution which this can be avoided(i.e not adding keystore in
the android application) but the server side was unable to process that
- http://tozny.com/blog/godaddys-ssl-certs-dont-work-in-java-the-right-solution/
 
Any idea on how to resolve this warning? Thanks in advance.
Shobana P <shobana.bdigitech@gmail.com>: Jun 14 11:08PM -0700

Android development <http://revlift.com/>is rapid development in global
market most of us use the android smart phone
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to android-developers+unsubscribe@googlegroups.com.

No comments:

Post a Comment