Any body who has already tried this help me out plz
Its very urgent

On Friday, September 14, 2012 5:32:02 PM UTC+5:30, janvi wrote:
>
> Dear All
>
> I need a favour,though it is old topic i need small info on how to go a 
> head with Android LVL 
> Plz reply me as soon as possible
> The following is my sample code which I have written
>
>
> package com.example.helloworld;
>
> import java.io.FileInputStream;
> import java.io.FileNotFoundException;
> import java.io.IOException;
> import java.io.InputStream;
> import java.security.KeyFactory;
> import java.security.NoSuchAlgorithmException;
> import java.security.PublicKey;
> import java.security.cert.CertificateException;
> import java.security.cert.CertificateFactory;
> import java.security.cert.X509Certificate;
> import java.security.interfaces.RSAPublicKey;
> import java.security.spec.InvalidKeySpecException;
> import java.security.spec.PKCS8EncodedKeySpec;
>
> import android.app.Activity;
> import android.app.AlertDialog;
> import android.app.Dialog;
> import android.content.DialogInterface;
> import android.content.Intent;
> import android.net.Uri;
> import android.os.Bundle;
> import android.os.Handler;
> import android.provider.Settings.Secure;
> import android.view.View;
> import android.view.Window;
> import android.widget.Button;
> import android.widget.TextView;
> import android.widget.Toast;
>
> import com.google.android.vending.licensing.AESObfuscator;
> import com.google.android.vending.licensing.LicenseChecker;
> import com.google.android.vending.licensing.LicenseCheckerCallback;
> import com.google.android.vending.licensing.Policy;
> import com.google.android.vending.licensing.ServerManagedPolicy;
> import com.google.android.vending.licensing.util.Base64;
> import com.google.android.vending.licensing.util.Base64DecoderException;
>
> public class LicenseCheck extends Activity {
>     private static final String BASE64_PUBLIC_KEY = "Corresponding Public 
> Key";
>
>     // Generate your own 20 random bytes, and put them here.
>     private static final byte[] SALT = new byte[] { -46, 65, 30, -128, 
> -103,
>             -57, 74, -64, 51, 88, -95, -45, 77, -117, -36, -113, -11, 32, 
> -64,
>             89 };
>
>     private TextView mStatusText;
>     private Button mCheckLicenseButton;
>
>     private LicenseCheckerCallback mLicenseCheckerCallback;
>     private LicenseChecker mChecker;
>     // A handler on the UI thread.
>     private Handler mHandler;
>
>     @Override
>     public void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);
>         setContentView(R.layout.activity_main);
>
>         mStatusText = (TextView) findViewById(R.id.status_text);
>         mCheckLicenseButton = (Button) 
> findViewById(R.id.check_license_button);
>         mCheckLicenseButton.setOnClickListener(new View.OnClickListener() {
>             public void onClick(View view) {
>                 doCheck();
>             }
>         });
>
>         mHandler = new Handler();
>
>         // Try to use more data here. ANDROID_ID is a single point of 
> attack.
>         String deviceId = Secure.getString(getContentResolver(),
>                 Secure.ANDROID_ID);
>
>         // Library calls this when it's done.
>         mLicenseCheckerCallback = new MyLicenseCheckerCallback();
>         // Construct the LicenseChecker with a policy.
>         mChecker = new LicenseChecker(this, new ServerManagedPolicy(this,
>                 new AESObfuscator(SALT, getPackageName(), deviceId)),
>                 BASE64_PUBLIC_KEY);
>         doCheck();
>     }
>
>     protected Dialog onCreateDialog(int id) {
>         final boolean bRetry = id == 1;
>         return new AlertDialog.Builder(this)
>                 .setTitle(R.string.unlicensed_dialog_title)
>                 .setMessage(
>                         bRetry ? R.string.unlicensed_dialog_retry_body
>                                 : R.string.unlicensed_dialog_body)
>                 .setPositiveButton(
>                         bRetry ? R.string.retry_button : 
> R.string.buy_button,
>                         new DialogInterface.OnClickListener() {
>                             // bretry = 1 if retry button is active
>
>                             // bretry = 0 if buy button is active
>
>                             boolean mRetry = bRetry;
>
>                             public void onClick(DialogInterface dialog,
>                                     int which) {
>                                 if (mRetry) {
>                                     doCheck();
>                                 } else {
>                                     Intent marketIntent = new Intent(
>                                             Intent.ACTION_VIEW,
>                                             Uri.parse("
> http://market.android.com/details?id=";
>                                                     + getPackageName()));
>                                     startActivity(marketIntent);
>                                 }
>                             }
>                         })
>                 .setNegativeButton(R.string.quit_button,
>                         new DialogInterface.OnClickListener() {
>                             public void onClick(DialogInterface dialog,
>                                     int which) {
>                                 finish();
>                             }
>                         }).create();
>     }
>
>     private void doCheck() {
>         mCheckLicenseButton.setEnabled(false);
>         setProgressBarIndeterminateVisibility(true);
>         mStatusText.setText(R.string.checking_license);
>         mChecker.checkAccess(mLicenseCheckerCallback);
>     }
>
>     private void displayResult(final String result) {
>         mHandler.post(new Runnable() {
>             public void run() {
>                 mStatusText.setText(result);
>                 setProgressBarIndeterminateVisibility(false);
>                 mCheckLicenseButton.setEnabled(true);
>             }
>         });
>     }
>
>     private void displayDialog(final boolean showRetry) {
>         mHandler.post(new Runnable() {
>             public void run() {
>                 setProgressBarIndeterminateVisibility(false);
>                 showDialog(showRetry ? 1 : 0);
>                 mCheckLicenseButton.setEnabled(true);
>             }
>         });
>     }
>
>     private class MyLicenseCheckerCallback implements 
> LicenseCheckerCallback {
>         public void allow(int policyReason) {
>             if (isFinishing()) {
>                 // Don't update UI if Activity is finishing.
>                 return;
>             }
>             // Should allow user access.
>             Intent i = new Intent(LicenseCheck.this, MainActivity.class);
>             startActivity(i);
> //            finish();
>
>             displayResult(getString(R.string.allow));
>
>         }
>
>         public void dontAllow(int policyReason) {
>             if (isFinishing()) {
>                 // Don't update UI if Activity is finishing.
>                 return;
>             }
>             displayResult(getString(R.string.dont_allow));
>             // Should not allow access. In most cases, the app should 
> assume
>             // the user has access unless it encounters this. If it does,
>             // the app should inform the user of their unlicensed ways
>             // and then either shut down the app or limit the user to a
>             // restricted set of features.
>             // In this example, we show a dialog that takes the user to 
> Market.
>             // If the reason for the lack of license is that the service is
>             // unavailable or there is another problem, we display a
>             // retry button on the dialog and a different message.
>             displayDialog(policyReason == Policy.RETRY);
>         }
>
>         public void applicationError(int errorCode) {
>             if (isFinishing()) {
>                 // Don't update UI if Activity is finishing.
>                 return;
>             }
>             // This is a polite way of saying the developer made a mistake
>             // while setting up or calling the license checker library.
>             // Please examine the error code and fix the error.
>             String result = String.format(
>                     getString(R.string.application_error), errorCode);
>             displayResult(result);
>         }
>     }
>
>     @Override
>     protected void onDestroy() {
>         super.onDestroy();
>         mChecker.onDestroy();
>     }
>
> }
>
>
> The following is my main activity 
>
>
> package com.example.helloworld;
>
> import android.os.Bundle;
> import android.app.Activity;
> import android.view.Menu;
>
> public class MainActivity extends Activity {
>
>     @Override
>     public void onCreate(Bundle savedInstanceState) {
>         super.onCreate(savedInstanceState);
>         setContentView(R.layout.activity_main);
>     }
>
>     @Override
>     public boolean onCreateOptionsMenu(Menu menu) {
>         getMenuInflater().inflate(R.menu.activity_main, menu);
>         return true;
>     }
> }
>
>
>
> The following is my activity_main.xml
>
>
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
>     android:orientation="vertical"
>     android:layout_width="fill_parent"
>     android:layout_height="fill_parent"
>     >
> <TextView
>     android:id="@+id/status_text"
>     android:layout_width="fill_parent"
>     android:layout_height="0dip"
>     android:layout_weight="1"
>     />
> <Button
>     android:id="@+id/check_license_button"
>     android:layout_width="fill_parent"
>     android:layout_height="wrap_content"
>     android:text="@string/check_license"
>     />
> </LinearLayout>
>
> I have also added the following tag in the manifest
>
> <uses-permission android:name="com.android.vending.CHECK_LICENSE" />
>
>
> When iam executing this iam getting the following errors
>
> 1.error contacting licensing server android
> 2.ERROR_NOT_MARKET_MANAGED
>
> Iam testing it by using a test account which is added in the edit profile 
> page of google publisher account and in this process iam facing the above 
> errors
>
> I have the following doubts
>
> 1.Whether is it necessary to upload and save the APP in the google 
> publisher account if we want to test it using test account
> 2.How actually to start with the testing process 
>
>
> Thanks in advance
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to