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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en