Hi, Today, I wrote a program. The function is to get the installed packages name through the provider name. But I find a problem, when I compare two SAME strings. The Boolean result will be FALSE. I used the Eclipse to watch the value change. From expression, I saw the Local1 and xx are same. But the Boolean bb is false. Also I installed the apk to phone too. I found the result is "FALSE" too. I don’t know the problem come from and how to fix it. I hope who can teach me. Following is my main.XML and source.
< XML > <?xml version="1.0" encoding="utf-8"?> <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:text="TextView" android:id="@+id/tV1" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <Button android:text="Button" android:id="@+id/bn1" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> </LinearLayout> < JAVA SOURCE > import java.util.List; import android.app.Activity; import android.content.pm.PackageInfo; import android.content.pm.ProviderInfo; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class FindPackage extends Activity implements OnClickListener { TextView tV1; Button bn1; String xx = "com.android.alarmclock"; Boolean bb = false; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tV1 = (TextView) findViewById (R.id.tV1); bn1 = (Button) findViewById (R.id.bn1); bn1.setOnClickListener (this); } @Override public void onClick(View v) { if (v == bn1){ List <PackageInfo> aa = null; ProviderInfo [] kk = null; String Local1 = ""; aa = this.getPackageManager().getInstalledPackages(8); // Get all Packages int i = aa.toArray().length-1; // Get Number of Packages while (i>=0) { kk = aa.get(i).providers; // Withdraw the Provider if (kk == null){ i--; continue; } if (kk[0].name.contains("Alarm")) // Checking the Provider name which has Alarm word" { Local1 = kk[0].packageName; // put the package name into Local1 break; } i--; } i = 0; bb = (xx==Local1); tV1.setText(bb+""); // Show the result } } } -- 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

