You could start with your broken string comparison. (xx==Local1);
Use String#equals(String) instead if you're not trying to ascertain if xx and Local1 are both *instances* of the same String object. On 20 Apr, 06:08, Perry168 <[email protected]> wrote: > 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

